php – 从远程主机发送带谷歌应用引擎的电子邮件,如何附加文件?
发布时间:2020-12-13 17:25:52 所属栏目:PHP教程 来源:网络整理
导读:我正在使用谷歌应用引擎发送基于 https://github.com/godsid/appEngineSendMail的电子邮件 所以我从我的远程主机做了一个curl post请求,它确实有效. 但是如何将文件附加到appengine? 这是我的卷曲post_fields $fields = array( 'to' = urlencode($to),'send
我正在使用谷歌应用引擎发送基于
https://github.com/godsid/appEngineSendMail的电子邮件
所以我从我的远程主机做了一个curl post请求,它确实有效. 但是如何将文件附加到appengine? 这是我的卷曲post_fields $fields = array( 'to' => urlencode($to),'sender' => urlencode($from),'body' => urlencode($body),'subject' => urlencode($subject),'key' => urlencode('****') ); $fields['attachments']= array("@". $_FILES['attachment']['tmp_name']); 我一直在寻找2天的答案…任何帮助或提示表示赞赏 解决方法
问题是我在url_encoding字段数组,这样做是为了防止cURL实际注意到@filename并将文件附加到请求.
所以我不得不提出多部分请求 curl_setopt($ch,CURLOPT_HTTPHEADER,array("Content-type: multipart/form-data")); 并将字段附加到请求而不编码它们 curl_setopt($ch,CURLOPT_POSTFIELDS,$fields); 我在python方面的错误是使用了self.request.get(),它是github上的脚本所使用的,我所基于的那个 所以我不得不使用self.request.post [],就像这样 attachment = self.request.POST["attachment"] #actual attachment file attachment_name = self.request.POST["attachment_name"] #string value of attahcment name sent from php side message.attachments = [(attachment_name,attachment.value)] *注意self.request.get是一个函数,self.request.post是一个数组 希望有一天能帮助别人:) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |