我正在编写一个包含 html 的 mime 格式的电子邮件文件。我正在编写 mime 文件的 html 部分,如下所示:
writer.WriteLine("--" + altBoundary);
writer.WriteLine("Content-Type: text/html; charset=\"UTF-8\"");
writer.WriteLine("Content-Transfer-Encoding: quoted-printable");
writer.WriteLine();
QuotedPrintableEncoder qpEncoder=new QuotedPrintableEncoder();
writer.WriteLine(qpEncoder.Encode(HTMLBody));
Run Code Online (Sandbox Code Playgroud)
在 HTMLBody 中我有一大块 html。其中一个片段如下所示:
<p><br />Dear Ben,<br /><br />
Thank you for your interest in our products and services.
=
=20
</p>
<p>Here are some literature links you may find interesting:<=
/p>
<ul><li><a title=3D"Brochure One" href=3D"http://xxxxxshow=
.xxxpoint.com/Document?client=3DXxxxxxpoint&document=3DBrochure One">Broch=
ure One</a></li></ul>
Regards,<br />
Run Code Online (Sandbox Code Playgroud)
请注意 //xxxxxshow.xxxpoint.com 域,它跨越 mime 文件中的换行符。当此域到达 Outlook 时,它“丢失了第一个点”,因此它读取的是 xxxxshowxxxpoint.com,而它应该读取的是 xxxxxshow.xxxpoint.com。如果发生换行,使得该点成为下一行的第一个字符,则该点会“丢失”,并且当电子邮件到达 Outlook 时,该点会从电子邮件源中丢失。如果换行符出现在“xxxxxshow”一词的中间,则该点不会丢失,并且它确实会出现在 Outlook 内的电子邮件中。
这是怎么回事?我该如何解决这个问题?
如何在 php 中解析.eml文件?是否有任何 PHP 库或 PHP 扩展?
我想在浏览器中显示邮件标题信息,例如发件人、收件人、标题、附件和 eml 正文内容。
我已经看过这篇文章,但这似乎并不是我需要的方法。
我目前正在做的是将电子邮件创建为.html文件,然后将其附加到Outlook中并发送-我要做的是通过具有HTML / CSS样式但也具有纯文本版本的Outlook发送电子邮件后备。
我一直在搜索,而我所得到的只是有关MIME(多用途Internet邮件扩展)的信息,而关于我的信息是:/
是否可以简单地添加到确定使用HTML还是纯文本的html文件代码中?
我收到了来自 ebay-api 的回复
\n\n\n\n\n--MIMEBoundaryurn_uuid_C91296EA5FF69EE9571479882375576565344 内容类型:application/xop+xml;字符集=utf-8;类型 =“text/xml”\n 内容传输编码:二进制内容 ID:\n <0.urn:uuid:C91296EA5FF69EE9571479882375576565345>
\n\nSuccess1.1.02016-11-23T06:26:15.576Z514\n --MIMEBoundaryurn_uuid_C91296EA5FF69EE9571479882375574545344 内容类型:application/zip 内容传输编码:二进制\n 内容 ID:
\n\nPKY\'uIi[\xef\xbf\xbd\xef\xbf\xbd@\xef\xbf\xbd50014028337_report.xmlUT y\xef\xbf\xbd2Xy\xef\xbf\xbd2Xux\n 00\xef\xbf\xbdR\xef \xbf\xbdj\xef\xbf\xbd@\xef\xbf\xbd\xef\xbf\xbd+\xef\xbf\xbd\xef\xbf\xbd[\xef\xbf\xbd\xef\xbf\xbdPlX#\ xef\xbf\xbd(\xef\xbf\xbdx,=l\xef\xbf\xbdq)Lfewc\xef\xbf\xbd\xef\xbf\xbdw\xc4\xa4\xef\xbf\xbd\xef\xbf\ xbdO\xef\xbf\xbd\xef\xbf\xbd\xd9\xa1\xef\xbf\xbdHT\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdt\xef\xbf\xbd\xef\ xbf\xbdGGT\xef\xbf\xbd\n\xef\xbf\xbd\xef\xbf\xbd6\xef\xbf\xbd;\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\' \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.$\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd=d\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdm;c}W\xdf\xa6\xef\xbf \xbdRW\xef\xbf\xbdA\nf\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdg\xef\xbf\xbdI\xef\xbf \xbd\xef\xbf\xbd4U\xef\xbf\xbd\xef\xbf\xbdx\xef\xbf\xbd\xef\xbf\xbd3\xef\xbf\xbd\xef\xbf\xbdf\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xd2\x93{f\xef\xbf\xbd\xef\xbf\xbdxj\xef\xbf\xbd,+\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xdb\x96I%5\xef\xbf\xbd\xef\xbf\xbdB\'s\xef\xbf\xbd\xef\xbf\xbdG,#\xef\xbf\xbd\xef\ xbf\xbdt,L{\xef\xbf\xbdc\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdMD\xe7\xac\x93\xef \xbf\xbd\xef\xbf\xbd)!\xef\xbf\xbd9\xef\xbf\xbd\xef\xbf\xbd\n \xef\xbf\xbdM\xef\xbf\xbdo;8_\xef\xbf \xbd\xef\xbf\xbd<\xef\xbf\xbdi\xef\xbf\xbdy\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdsz\xef\xbf\ xbd\xef\xbf\xbd\xef\xbf\xbdu\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd=\xef\xbf\xbd\xef\xbf\xbd\xd5\x8b^2 \xef\xbf\xbdS\xef\xbf\xbd\xef\xbf\xbd%+2\xef\xbf\xbd2\xef\xbf\xbd`QV\xef\xbf\xbd$\xef\xbf\xbd\xef \xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd~?\xef\xbf\xbdw\xef\xbf\xbd\xc7\xa5\xef\xbf\xbd_Q\xef\xbf \xbd\xed\x89\xa6\xef\xbf\xbd\'PKY\'uIi[\xef\xbf\xbd\xef\xbf\xbd@\xef\xbf\xbd\xef\xbf\xbd\xef\xbf \xbd50014028337_report.xmlUTy\xef\xbf\xbd2Xux\n 00PK\\\xef\xbf\xbd\n --MIMEBoundaryurn_uuid_C91296EA5FF69EE9571479882375576565344--
\n
这是字符串类型。我提取了附加的 zip 文件数据,即
\n\n\n\n\nPKY\'uIi[\xef\xbf\xbd\xef\xbf\xbd@\xef\xbf\xbd50014028337_report.xmlUT y\xef\xbf\xbd2Xy\xef\xbf\xbd2Xux\n 00\xef\xbf\xbdR\xef \xbf\xbdj\xef\xbf\xbd@\xef\xbf\xbd\xef\xbf\xbd+\xef\xbf\xbd\xef\xbf\xbd[\xef\xbf\xbd\xef\xbf\xbdPlX#\ xef\xbf\xbd(\xef\xbf\xbdx,=l\xef\xbf\xbdq)Lfewc\xef\xbf\xbd\xef\xbf\xbdw\xc4\xa4\xef\xbf\xbd\xef\xbf\ xbdO\xef\xbf\xbd\xef\xbf\xbd\xd9\xa1\xef\xbf\xbdHT\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdt\xef\xbf\xbd\xef\ xbf\xbdGGT\xef\xbf\xbd\n\xef\xbf\xbd\xef\xbf\xbd6\xef\xbf\xbd;\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\' \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.$\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd=d\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdm;c}W\xdf\xa6\xef\xbf \xbdRW\xef\xbf\xbdA\nf\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdg\xef\xbf\xbdI\xef\xbf \xbd\xef\xbf\xbd4U\xef\xbf\xbd\xef\xbf\xbdx\xef\xbf\xbd\xef\xbf\xbd3\xef\xbf\xbd\xef\xbf\xbdf\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xd2\x93{f\xef\xbf\xbd\xef\xbf\xbdxj\xef\xbf\xbd,+\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xdb\x96I%5\xef\xbf\xbd\xef\xbf\xbdB\'s\xef\xbf\xbd\xef\xbf\xbdG,#\xef\xbf\xbd\xef\ xbf\xbdt,L{\xef\xbf\xbdc\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdMD\xe7\xac\x93\xef \xbf\xbd\xef\xbf\xbd)!\xef\xbf\xbd9\xef\xbf\xbd\xef\xbf\xbd\n \xef\xbf\xbdM\xef\xbf\xbdo;8_\xef\xbf \xbd\xef\xbf\xbd<\xef\xbf\xbdi\xef\xbf\xbdy\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdsz\xef\xbf\ xbd\xef\xbf\xbd\xef\xbf\xbdu\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd=\xef\xbf\xbd\xef\xbf\xbd\xd5\x8b^2 \xef\xbf\xbdS\xef\xbf\xbd\xef\xbf\xbd%+2\xef\xbf\xbd2\xef\xbf\xbd`QV\xef\xbf\xbd$\xef\xbf\xbd\xef \xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd~?\xef\xbf\xbdw\xef\xbf\xbd\xc7\xa5\xef\xbf\xbd_Q\xef\xbf \xbd\xed\x89\xa6\xef\xbf\xbd\'PKY\'uIi[\xef\xbf\xbd\xef\xbf\xbd@\xef\xbf\xbd\xef\xbf\xbd\xef\xbf \xbd50014028338_report.xmlUTy\xef\xbf\xbd2Xux\n 00PK\\\xef\xbf\xbd
\n
这表明它里面有一个report.xml。因此,当我将这些数据写入 zip 文件时,它会创建一个 zip 文件,并且在提取时会出现错误。 …
我有下面的 Python 代码,用于从 file 的内容向我的 ID 发送电子邮件filename
。我正在尝试发送带有文本颜色格式的电子邮件。
有什么想法请指教。
def ps_Mail():
filename = "/tmp/ps_msg"
f = file(filename)
if os.path.exists(filename) and os.path.getsize(filename) > 0:
mailp = Popen(["/usr/sbin/sendmail", "-t", "-oi"], stdin=PIPE)
msg = MIMEMultipart('alternative')
msg['To'] = "karn@abc.com"
msg['Subject'] = "Uhh!! Unsafe rm process Seen"
msg['From'] = "psCheck@abc.com"
msg1 = MIMEText(f.read(), 'text')
msg.attach(msg1)
mailp.communicate(msg.as_string())
ps_Mail()
Run Code Online (Sandbox Code Playgroud) 我正在使用 MIME Multipart 在 HTML 中撰写电子邮件并使用 smtplib 发送,并且希望仅在条件评估为 true 时才包含句子。基本上是这样的
html = """\
<html>
<body>
Hi {name}<br>
Hope you are doing well.
**<% if {empanelled}: %>**
<br> We are already empanelled with your company<br>
</body>
</html>
""".format(name=firstname, empanelled = empanelled)
Run Code Online (Sandbox Code Playgroud)
如果我们是 empaneled (value = 1),那么后面的句子应该写成 else if value = 0, 不应该出现。任何有关如何使用 python 执行此操作的指示将不胜感激。
我有一个 Ansi 字符串,用于存储二进制数据 - 0-255 范围内的字节(我知道它应该是一个字节数组左右,但它们之间没有太大区别)。
我想通过 Indy MIME (TIdEncoderMIME.EncodeString / TIdDecoderMIME.DecodeString) 传递这个“二进制字符串”并获得人类可读的ANSI字符串。
我认为如果我使用 IndyTextEncoding_8Bit 编码,Encode/DecodeString 的输出将是一个仅包含 ANSI 字符的字符串。但是我错了!
那么,如何使用 Indy Mime 编码二进制数据(类似于application/octet-stream)?
当我尝试从 Content-Disposition 标头获取文件名时,go 函数mime.ParseMediaType()
失败并出现错误mime: invalid media parameter
我已经发现它适用于正常的文件名格式:
attachment; filename="Geotag_Stamp%20(1)%20(1).jpg"
<- 作品
但是对于 UTF-8 文件名(在rfc6266中定义),它会失败并出现第一段中给出的错误:
attachment; filename*=UTF-8''"Geotag_Stamp%20(1)%20(1).jpg"
<- 失败
这是我的代码:
package main
import (
"fmt"
"mime"
)
func main() {
d, params, err := mime.ParseMediaType(`attachment; filename="Geotag_Stamp%20(1)%20(1).jpg"`)
if err != nil {
fmt.Println("**Normal Filename error:", err)
}
fmt.Println("Normal:", d, params)
d, params, err = mime.ParseMediaType(`attachment; filename*=UTF-8''"Geotag_Stamp%20(1)%20(1).jpg"`)
if err != nil {
fmt.Println("**UTF-8 Filename error:", err)
}
fmt.Println("UTF-8",d, params)
}
Run Code Online (Sandbox Code Playgroud)
stdlib 是否可能不支持 Content-Disposition->Filename 的 UTF-8 版本?
我使用 MIME::Lite 从我的 Perl 脚本发送电子邮件。我使用了严格的;在我的标题中,因为这是我们所有脚本中的标准用法。
my $msg = MIME::Lite->new(
From => $from,
To => $to_str,
Cc => $cc_str,
Reply-To => $replyto,
Subject => $tf_subject,
Type => 'multipart/mixed'
);
Run Code Online (Sandbox Code Playgroud)
当我在此函数中添加 Reply-To 以获取退回电子邮件时,出现以下错误。
不允许使用裸词“回复”,而“严格的订阅者”正在使用
但是我在 MIME::Lite 的文档中看到 Reply-To 是获得退回电子邮件的唯一方法。
有没有办法在同一个脚本中同时容纳严格和回复?
我通过 python 程序发送一个名为test.txt
附件的文件。它成功发送,但当我在 Gmail 收件箱中收到它时,附件显示Untitled
的是text.txt
. 我的电子邮件代码块如下,看起来是正确的。有什么建议么?
# Setup the email
mail_content = '''Hello,
The attached document contains the results of the file scan.
Please contact the IT Help Desk if you have any questions.
Thank You!!!
'''
message = MIMEMultipart()
message['From'] = sender_address
message['To'] = receiver_address
message['Subject'] = 'A test mail sent by Python. It has an attachment.'
message.attach(MIMEText(mail_content, 'plain'))
attach_file_name = 'david.txt'
# attach_file_name = file_name
attach_file = open(attach_file_name, 'rb') # Open the …
Run Code Online (Sandbox Code Playgroud)