如果您尝试在不进行身份验证的情况下发送电子邮件,恐怕这是不可能的。如果您网站中的任何用户可以在没有密码的情况下发送电子邮件,那就太可怕了。它将允许用户从其他个人帐户发送电子邮件。所以考虑到安全性,发送邮件需要提供邮箱地址和密码
var fromAddress = ""; // Email Address here. This will be the sender.
string fromPassword = ""; // Password for above mentioned email address.
var toAddress = "";// Receiver email address here
string subject = "Hi";
string body = "Body Text here";
var smtp = new System.Net.Mail.SmtpClient();
{
smtp.Host = "smtp.gmail.com"; // this is for gmail.
smtp.Port = 587;
smtp.EnableSsl = true;
smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
smtp.Credentials = new NetworkCredential(fromAddress, fromPassword);
smtp.Timeout = 20000;
}
smtp.Send(fromAddress, toAddress, subject, body);
[编辑]
对不起我的错误我没有注意到。他们都用于相同的目的。如果您使用更高版本(2.0 或更高版本)的 .Net 框架,请使用 System.Net.Mail。如果您使用 System.Web.Mail,它只会显示一条警告,说明不推荐使用。但这会奏效。
这是 System.web.mail 的答案
MailMessage mail = new MailMessage();
mail.To.Add("to@domain.com");
mail.From = new MailAddress("from@domain.com");
mail.Subject = "Email using Gmail";
mail.Body = "";
mail.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com";
smtp.EnableSsl = true;
smtp.Credentials = new System.Net.NetworkCredential(mail.From,"YourPassword");
smtp.Send(mail);