【发布时间】:2014-11-20 02:03:22
【问题描述】:
我正在尝试转换一些 Python 代码以在 .Net 网站中使用。该代码检索以 RFC822 格式存储的消息,并使用以下命令再次将消息发送到 SMTP 服务器:
mail from: blah blah
rcpt to: blah blah
data
<send the text from the RFC822 file here>
.
因此不需要解析 RFC822 文件(幸运的是!)。在 Python 中,这很简单:
smtp = smtplib.SMTP(_SMTPSERVER)
smtp.sendmail(_FROMADDR, recipient, msg)
文件已读入变量msg的位置。有没有简单的方法在 C# 中做到这一点?
内置的 C# SMTP 对象不提供执行此操作的方法,或者至少我还没有找到方法。它们似乎是基于通过分别提供地址、主题和正文来构建 MailMessage 的原则。 SmtpClient 有一个 Send(string, string, string, string) 方法,但这又需要一个单独的主题和正文,所以我猜它会为你构造 RFC822 格式的消息。
如有必要,我可以编写自己的类来发送邮件。这是一个如此简单的要求,不会花很长时间。但是,如果有办法使用标准库,它们的错误可能比我的代码少。
【问题讨论】: