我试图转换一些.Net网站中使用的Python代码。该代码检索存储在RFC822格式的消息,并将该消息再次使用SMTP服务器:如何发送c#中的RFC822文件#
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)
该文件已经被读入变量味精。有没有简单的方法在C#中做到这一点?
内置的C#SMTP对象不提供这样做的方法,或者至少我没有找到方法。它们似乎是基于通过分别提供地址,主题和主体来构建MailMessage的原则。 SmtpClient
有一个Send(string, string, string, string)
方法,但这又需要一个单独的主题和正文,所以我猜它会为你构建RFC822格式的消息。
如有需要,我可以写我自己的班级发送邮件。这是一个非常简单的要求,它不会花费很长时间。但是,如果有一种使用标准库的方式,它们可能比我的代码少一些。
你不希望有重写的可配置性SmptClient。如果OP想要使用认证,加密,不同的服务器等,则需要使用代码读取配置。 – CodeCaster 2014-09-25 10:30:54
@CodeCaster为什么不呢? OP的要求显然不符合SmtpClient的设计要求,而且他似乎只支持单个SMPT服务器(或其中少数)。手动解决方案应该很好地完成这项工作。为此,SMTP协议非常简单。 – Polynomial 2014-09-25 10:32:36
谢谢,我怀疑我最终会自己做。我有一个C++ SMTP类,我在石器时代写过,我可以很快地在C#中重做,所以没什么大不了的。如果没有任何建议,我明天就会接受。 – 2014-09-25 15:50:11