有没有办法使用MailMessage查看电子邮件而不是发送邮件。我使用SmtpClient发送消息,但在某些情况下,需要审查电子邮件,然后由用户手动发送。
答案 0 :(得分:0)
SmtpClient 类中没有内置方法可以查看电子邮件。您必须手动查看该消息。
在发送之前,您必须手动查看电子邮件。
您可以使用WebBrowser对象查看电子邮件的正文部分,以了解接收方如何看到该电子邮件。
其他审核也必须手动完成。
答案 1 :(得分: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("sender@abc.com"),
};
message.To.Add(new MailAddress("email@domain.com"));
string tempEmlPath = Path.Combine(
Path.GetTempPath(),
Guid.NewGuid().ToString() + ".eml");
message.Save(tempEmlPath);
Process.Start(tempEmlPath);