有没有办法从asp.net应用程序发送邮件?现在,我正在试图找出在注册服务时如何创建确认电子邮件。
答案 0 :(得分:4)
System.Web.Mail.MailMessage message=new System.Web.Mail.MailMessage();
message.From="from e-mail";
message.To="to e-mail";
message.Subject="Message Subject";
message.Body="Message Body";
System.Web.Mail.SmtpMail.SmtpServer="SMTP Server Address";
System.Web.Mail.SmtpMail.Send(message);
答案 1 :(得分:2)
查看SmtpClient class。例如代码,请参阅Shlomi的this answer。
答案 2 :(得分:2)
查看以下链接,它深入了解发送来自Asp.net的邮件:
http://www.dijksterhuis.org/using-csharp-to-send-an-e-mail-through-smtp/
答案 3 :(得分:1)
此代码将帮助您入门 使用(MailMessage mm = new MailMessage()) {
mm.From = new MailAddress("noreply@mail.com");
SmtpClient client = new SmtpClient("127.0.0.1");
string smtpServerUserName = "username";
string smtpServerPassword = "password";
if (smtpServerUserName.HasValue() && smtpServerPassword.HasValue())
{
client.Credentials = new NetworkCredential(smtpServerUserName, smtpServerPassword);
}
smtpServerPort = "";
if (smtpServerPort.HasValue())
{
client.Port = Convert.ToInt32(smtpServerPort, CultureInfo.InvariantCulture);
}
mm.Priority = MailPriority.Normal;
mm.IsBodyHtml = false;
mm.Subject = subject;
mm.To.Add(new MailAddress("you@home.com"));
mm.Body = body;
client.Send(mm);
}
}
其中hasvalue()只是一个反转string.IsNullOrEmpty()
的扩展方法你可以使用papercut(http://papercut.codeplex.com/)在你的本地电脑上测试它,然后使用127.0.0.1作为ipaddress,没有任何smtpusername,密码或端口号。
/// <summary>
/// checks if a string is null or empty (hasvalue = false if null or empty)
/// </summary>
/// <param name="s"></param>
/// <returns></returns>
public static bool HasValue(this string s)
{
if (string.IsNullOrEmpty(s))
{
return false;
}
return true;
}
答案 4 :(得分:0)
Check this通用指南: