我很难确定文本电子邮件的正文是否为base64编码.如果它然后使用这行代码; 利用jython 2.2.1
dirty=base64.decodestring(dirty)
Run Code Online (Sandbox Code Playgroud)
否则继续正常.
这是我的代码.哪些代码行允许我从电子邮件中提取此内容:
"Content-Transfer-Encoding:base64"
import email, email.Message
import base64
def _get_email_body(self):
try:
parts=self._email.get_payload()
check=parts[0].get_content_type()
if check=="text/plain":
part=parts[0].get_payload()
enc = part[0]['Content-Transfer-Encoding']
if enc == "base64":
dirty=base64.decodestring(dirty)
elif check=="multipart/alternative":
part=parts[0].get_payload()
enc = part[0]['Content-Transfer-Encoding']
if part[0].get_content_type()=="text/plain":
dirty=part[0].get_payload()
if enc == "base64":
dirty=base64.decodestring(dirty)
else:
return "cannot obtain the body of the email"
else:
return "cannot obtain the body of the email"
return dirty
except:
raise
Run Code Online (Sandbox Code Playgroud)
好了,这个代码现在可以使用!谢谢大家
我正在构建一个用C#读取电子邮件的系统.我在解析主题时遇到了问题,我认为这个问题与编码有关.
我正在阅读的主题如下:=?ISO-8859-1?Q?=E6=F8sd=E5f=F8sdf_sdfsdf?=发送的原始主题是æøsdåføsdf sdfsdf(那里的挪威字符).
我有什么想法可以改变编码或正确解析它?到目前为止,我已经尝试使用C#编码转换技术将主题编码为utf8,但没有任何运气.
这是我尝试过的解决方案之一:
Encoding iso = Encoding.GetEncoding("iso-8859-1");
Encoding utf = Encoding.UTF8;
string decodedSubject =
utf.GetString(Encoding.Convert(utf, iso,
iso.GetBytes(m.Subject.Split('?')[3])));
Run Code Online (Sandbox Code Playgroud) 我无法弄清楚如何获取邮件应用程序(谷歌邮件除外)以识别电子邮件是作为"回复"发送的,并将这些电子邮件组合在一起作为发送和回复电子邮件的列表.
例如,使用php,如果我使用
$header = "From: Testing <email@mail.com>\r\n" .
"Reply-To: email@mail.com\r\n" .
"X-Mailer: PHP/" . phpversion();
$to = "email@mail.com";
$message = "This is a reply";
$subject = "test 123";
$success = mail($to, $subject, $message, $header);
Run Code Online (Sandbox Code Playgroud)
并发送两次,我收到两封单独的电子邮件.而不是由两封电子邮件组成的一封电子邮件.
有没有办法将它们组合在一起,因为一封电子邮件回复给另一封电子邮件,或者我做错了什么?
我已经阅读了php mail()文档和多个网页,解释了php邮件是如何工作的,仍然无法让电子邮件相互回复.
感谢您的时间和帮助!
我无法让sendgrid(使用node.js)在html中发送带有嵌入式base64图像的电子邮件.我觉得我很亲密......
var base64img='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQgAAAFXCAYAAABeLtDdAAAgAElEQVR4Xu19CXhURdb2ISsJgSQ';//shortened version
sendgrid.send({
to : 'address1@gmail.com',
from : 'address2@gmail.com',
subject : 'email with image from base64 data',
headers:{
'Content-Type':
'multipart/alternative; boundary="imagebase64"'+
'--imagebase64'+
'Content-Type: image/png; name="base64.png"'+
'Content-Disposition: inline; filename="base64.png"'+
'Content-Transfer-Encoding: base64'+
'Content-ID: <0123456789>'+
'Content-Location: base64.png'+
base64img+
'--imagebase64'
},
html : '<img src="cid:0123456789"/>'
});
Run Code Online (Sandbox Code Playgroud)
有人可以提供帮助,因为我没有找到关于sendgrid文档或谷歌的示例
我正在开发一个项目,需要识别真人发送的电子邮件,而不是批量邮件、通知和时事通讯。有什么明确的方法可以做到这一点吗?电子邮件标题中是否有任何可以提供帮助的信息。我正在 Gmail IMAP 上工作,因此我已经有非垃圾邮件。
感谢这方面的任何帮助。谢谢!
如果没有访问php.ini(假设php -v> = 5.3&mail.add_x_header = 1),或者修补邮件的方法,有没有办法在使用php时更改X-Php-Originating-Script标头mail()功能?
我做过的一项小小的研究表明,$_SERVER['PHP_SELF']在调用之前进行更改mail()可以解决问题,但这对我没有用.
我还尝试直接设置X-Php-Originating-Script,这导致了另一个'X-Php-Originating-Script'标题.
在这种情况下的目标是防止所述电子邮件的收件人在脚本命名法上详细说明.
谢谢!
在电子邮件中,Received:标题可以通过互斥值合法地出现多次...
收到:three.example.com
收到:two.example.com
收到:one.example.com
是否可以多次合法地在电子邮件标题中出现任何其他标题?
我试图用自定义标头搜索gmail api(这种情况下它被命名为 notification-id),但它不起作用.请求我正在制作:
GET https://www.googleapis.com/gmail/v1/users/tme/messages?includeSpamTrash=true&q=notification-id%3A560d01cef318893c3c000016
Run Code Online (Sandbox Code Playgroud)
我使用来自google mail api的默认标头(rfc822msgid)尝试了相同的查询,它可以处理此请求:
GET https://www.googleapis.com/gmail/v1/users/me/messages?includeSpamTrash=true&q=rfc822msgid%3A560d01d068c_6690c6f31857290%40ip-172-31-12-127.mail
任何想法为什么它不适用于自定义标题?
Laravel 5.7 使用 Swift Mailer 发送电子邮件。
默认情况下,所有发送的电子邮件都将Message-ID带有域的标题swift.generated(例如。Message-ID: <90b9835f38bb441bea134d3ac815dd6f@swift.generated>)。
例如,我想将域更改swift.generated为my-domain.com.
如何为所有电子邮件更改此设置?
我经常收到带有多个接收字段的钓鱼/垃圾邮件电子邮件。
首先,我想了解一封电子邮件标头如何具有多个接收字段。
其次,我想知道是否可以用它来对抗垃圾邮件。
这是一个例子:
返回路径:
X-Spam-Checker-版本:myhosting.com 上的 SpamAssassin 3.3.2 (2011-06-06)
X 垃圾邮件级别:
X-Spam-Status:否,分数 = 0.0 要求 = 3.5 测试 = HTML_MESSAGE autolearn = ham
版本=3.3.2
X-垃圾邮件-ASN:
X-原始-收件人:my@email.rs
发送至:my@email.rs
收到:来自 posta.abak.si (posta.abak.si [84.255.212.92])
由 myhosting.com (Postfix) 提供,ESMTPS id 522CA80DC8
为了 ; 2019 年 5 月 8 日星期三 14:31:59 +0200(欧洲中部夏令时间)
身份验证结果:myhosting.com;
dmarc=none (p=NONE sp=NONE) smtp.from=mk.kema-on.net header.from=mk.kema-on.net;
spf=none(发件人 IP 为 84.255.212.92) smtp.mailfrom=dime.mitreski@mk.kema-on.net smtp.helo=posta.abak.si
已接收 SPF:无(myhosting.com:无有效 SPF 记录)
收到:来自本地主机(本地主机[127.0.0.1])
作者:posta.abak.si (Postfix),ESMTP id 2C09E1E6A7D7
为了 ; 2019 年 5 月 8 日星期三 14:35:06 +0200(欧洲中部夏令时间)
收到:来自 … email-headers ×10
email ×6
php ×2
c# ×1
email-spam ×1
encoding ×1
gmail-api ×1
imap ×1
imaplib ×1
jython ×1
laravel ×1
laravel-5 ×1
parsing ×1
postfix-mta ×1
python ×1
search ×1
security ×1
sendgrid ×1
smtp ×1
spamassassin ×1
swiftmailer ×1