2012-05-31 62 views
2

有什么方法可以使用MailMessage查看电子邮件而不是发送邮件。我使用SmtpClient发送消息,但在某些情况下,需要查看电子邮件,然后由用户手动发送。使用MailMessage查看电子邮件

+0

在某些情况下还是在所有情况下?电子邮件发送的环境是什么 - 适当的解决方案可能会因此而有所不同。 – dxbmatt

+0

你必须使用一些其他技术来审查你的电子邮件发送之前,我想认为mailmessage用于此。这是一个用来发送电子邮件的对象 – Talha

回答

0

SmtpClient类没有内置方法来检查电子邮件。您必须手动查看消息。

发送之前你必须审查电子邮件manully。

您可以使用WebBrowser对象查看电子邮件的正文部分,以查看接收者将如何看到电子邮件。

其他审查也必须手动完成。

0

最简单的方法是将其作为MIME邮件(.eml)保存为临时文件,然后使用注册消息查看器(如Windows Live Mail或Thunderbird)启动它。

要将MailMessage保存到文件中,可以使用此代码项目文章中提供的Save扩展方法:Adding Save() functionality to Microsoft.Net.Mail.MailMessage

MailMessage message = new MailMessage 
{ 
    Subject = "Test", 
    Body = "Hello world", 
    From = new MailAddress("[email protected]"), 
}; 
message.To.Add(new MailAddress("[email protected]")); 

string tempEmlPath = Path.Combine(
    Path.GetTempPath(), 
    Guid.NewGuid().ToString() + ".eml"); 

message.Save(tempEmlPath); 

Process.Start(tempEmlPath); 
相关问题