我正在尝试转换一些 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 格式的消息。
如有必要,我可以编写自己的课程来发送邮件。这是一个如此简单的要求,不会花很长时间。但是,如果有一种方法可以使用标准库,那么它们的错误可能比我的代码少。