我正在尝试创建一个接收用户信息(包括电子邮件)的Web服务,然后发送一封确认电子邮件.我有什么想法可以做到这一点?我是否必须在我的机器上安装SMTP服务器?
您可以使用任何远程SMTP服务器,除非需要,否则无需在本地设置.我为它创建了一个帮助方法:
您需要导入名称空间:
using System;
using System.Net.Mail;
Run Code Online (Sandbox Code Playgroud)
这是一个帮助方法,它显示了使用SmtpClient类发送的用法:
public static void SendMessage(string smtpServer, string mailFrom, string mailFromDisplayName, string[] mailTo, string[] mailCc, string subject, string body)
{
try
{
using (SmtpClient client = new SmtpClient(smtpServer))
{
string to = mailTo != null ? string.Join(",", mailTo) : null;
string cc = mailCc != null ? string.Join(",", mailCc) : null;
MailMessage mail = new MailMessage();
mail.From = new MailAddress(mailFrom, mailFromDisplayName);
mail.To.Add(to);
if (cc != null)
{
mail.CC.Add(cc);
}
mail.Subject = subject;
mail.Body = body.Replace(Environment.NewLine, "<BR>");
mail.IsBodyHtml = true;
client.Send(mail);
}
}
catch (Exception ex)
{
// exception handling
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,如果您希望邮件尽可能快地发送,请务必在完成后处置SmtpClient.有关详细信息,请参阅System.Net.Mail和MailMessage不立即发送消息.上面的方法已经处理它,因为SmtpClient被包装在一个使用块中,因此已经在这个方法中处理了.
| 归档时间: |
|
| 查看次数: |
1508 次 |
| 最近记录: |