我需要您的帮助,以便使用功能sendmail {sendmailR}从R内发送包含希腊文本的电子邮件。
我尝试使用iconv
函数,但那样没有用
subject <- iconv("text in greek", to = "CP1253")
sendmail(from, to, subject, msg, control=list(smtpServer="blabla"))
邮件立即到达,但希腊字符不可读。有任何想法吗?
编辑
另一个问题出现了:
第二个参数
to
接受一个接收者。如果要发送给多个用户怎么办? (我认为将尝试将sendmail
函数应用于接收者的向量)-好的,可以。但是,我并不完全满意,因为每个收件人都无法知道还有谁收到了该邮件。 最佳答案
没有Content-Type: charset=...
,邮件客户端将无法理解任何编码,因此您必须添加它:
msg<-iconv("text in greek", to = "utf8");
sendmail(from, to, subject, msg,
control=list(smtpServer="blabla"),
headers=list("Content-Type"="text/plain; charset=UTF-8; format=flowed")
);
这是针对CP1253的UTF8(我相信应该使用):
msg<-iconv("text in greek", to = "CP1253");
sendmail(from, to, subject, msg,
control=list(smtpServer="blabla"),
headers=list("Content-Type"="text/plain; charset=CP1253; format=flowed")
);
隐藏副本的多发送也可以使用header magick完成,但我仍然认为sapply循环是一个更好的主意-然后用户将看到邮件是直接发送给她/自己的。
关于email - sendmailR : Submit encoded message to local SMTP server,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3528947/