我正在做一个航班预订系统,我想向用户发送一封电子邮件,其中包含他旅行的电子机票.电子机票是动态生成的,其中包含从数据库中提取的预订ID以及之前页面中的其他详细信息,例如乘客姓名和所有内容.那么如何将动态生成的电子机票发送给他的电子邮件ID呢?
警告:此问题的已接受答案建议System.Web.Mail用于发送电子邮件.但是,此API已System.Net.Mail在.NET 2.0中被替换,System.Web.Mail现在所有类都标记为过时/弃用.
以下是如何在.NET中构造和发送邮件消息的一个简单示例:
using (MailMessage message = new MailMessage())
{
message.From = new MailAddress("boss@example.com");
message.To.Add(new MailAddress("you@example.com"));
message.Subject = "Get back to work!";
message.Body = "Stop hanging around SO.";
SmtpClient smtp = new SmtpClient();
smtp.Send(message);
}
Run Code Online (Sandbox Code Playgroud)
实际上,使用以下SmtpClient.Send()方法可以将上面的代码写得更短:
SmtpClient smtp = new SmtpClient();
smtp.Send("boss@example.com", "you@example.com",
"Get back to work!", "Stop hanging around SO.");
Run Code Online (Sandbox Code Playgroud)
但是,您通常需要使用"详细"样式,以便能够在地址上设置显示名称,更改消息内容类型或向邮件添加附件.
无论您选择哪种方式,都需要根据SMTP设置配置应用程序,告诉它如何发送电子邮件.在您的应用程序配置文件(将web.config在ASP.NET应用程序中)中,您需要添加如下内容:
<system.net>
<mailSettings>
<smtp from="default@example.com">
<network host="smtp.example.com" />
</smtp>
</mailSettings>
</system.net>
Run Code Online (Sandbox Code Playgroud)
确切的设置取决于您希望应用程序如何传递邮件.使用上面的示例配置,邮件将通过指定的SMTP服务器进行中继.其他解决方案包括让应用程序将消息写入拾取文件夹,本地IIS虚拟邮件服务器将从该文件夹处理它们.有关详细信息,请参阅官方文档
| 归档时间: |
|
| 查看次数: |
2179 次 |
| 最近记录: |