Squeak SecureSMTPClient发送HTML电子邮件
我无法确定如何使用SecureSMTPClient发送html电子邮件。电子邮件客户端始终将其显示为纯文本,这意味着未设置MIME,即SecureSMTPClient忘记发送:Squeak SecureSMTPClient发送HTML电子邮件,smtp,smalltalk,squeak,Smtp,Smalltalk,Squeak,我无法确定如何使用SecureSMTPClient发送html电子邮件。电子邮件客户端始终将其显示为纯文本,这意味着未设置MIME,即SecureSMTPClient忘记发送: MIME-Version: 1.0 Content-Type: text/html; charset=utf-8 即使我指定text/html 这是密码 title:='title1'. content:='<a href="myurl">a link</a>'. smtpClient :=
MIME-Version: 1.0
Content-Type: text/html; charset=utf-8
即使我指定text/html
这是密码
title:='title1'.
content:='<a href="myurl">a link</a>'.
smtpClient := SecureSMTPClient new.
smtpClient user: senderMailAddress.
smtpClient password: pw.
smtpClient openOnHost: (NetNameResolver addressForName: 'smtp.gmail.com') port: 465.
message := MailMessage empty.
message setField: 'from' toString: senderMailAddress.
message setField: 'to' toString: rcvrAddress.
message setField: 'subject' toString: title.
msgBody:= MIMEDocument contentType: 'text/html' content: content.
message body: msgBody.
smtpClient mailFrom: senderMailAddress to: {rcvrAddress} text: message text.
smtpClient quit.
标题:='title1'。
内容:=''。
smtpClient:=安全smtpClient新建。
smtpClient用户:senderMailAddress。
smtpClient密码:pw。
smtpClient openOnHost:(NetNameResolver addressForName:'smtp.gmail.com')端口:465。
消息:=邮件消息为空。
消息设置字段:“发件人”到字符串:senderMailAddress。
消息设置字段:“至”toString:rcvrAddress。
消息设置字段:“主题”到字符串:标题。
msgBody:=mimocument contentType:'text/html'内容:内容。
消息正文:msgBody。
smtpClient mailFrom:senderMailAddress to:{rcvrAddress}text:消息文本。
smtpClient退出。
是相关的,但是答案取决于Pharo中可用的类,而不是Squeak。我相信您已经找到了系统中未维护的部分。据我所知,在您的示例中,您应该使用
#bodyTextFormatted
而不是#text
。对于html MIME类型,该方法将生成正确的主体。不幸的是,这里使用的HtmlParser
,不是映像的一部分,而且我找不到任何可以使用MailMessage
的旧版本(即,以某种方式产生异常)。因此,我不确定身体的编码是否正确
除此之外,您还可以像在示例中一样设置其他标题:
message
setField: 'content-type' toString: 'text/html; charset=utf8';
setField: 'mime-version' toString: '1.0'.
因此,请尝试使用这些额外的标题。明确设置这些字段非常有效。(对于未来的访问者:我以前尝试过bodyTextFormatted,它只以body的形式返回消息,即没有电子邮件标题。)没错,我忘了提到这一点。这是因为
HtmlParser
不是系统的一部分,退一步就是像您那样使用#text
。您在这个答案上帮了我很多。现在我发布了另一个类似的问题。如果您感兴趣: