我尝试用。net编写发送电子邮件的代码。这是我目前所看到的:
MailMessage mail = new MailMessage("mymailaddress@yahoo.com", address);
mail.Subject = subject;
mail.Body = body;
client.Host = "smtp.gmail.com";
client.Port = 587;
client.Send(e);
问题是我得到以下异常:
Unhandled Exception:
System.Net.Mail.SmtpException
: Failure sending mail.
System.Net.WebException
: cannot connect to remote server.在一段时间后没有正常响应,或者连接的主机响应失败导致连接失败
System.Net.Sockets.SocketException
: A connection attempt failed because the connected party173.194.66.109:587
试试这个:
using System.Net;
using System.Net.Mail;
// ...
MailAddress maFrom = new MailAddress("<address>", "<display_name>");
MailAddress maTo = new MailAddress("<address>", "<display_name>");
const string sPassword = "<password>";
const string sSubject = "<subject>";
const string sBody = "<body>";
new SmtpClient
{
Host = "smtp.gmail.com",
Port = 587,
EnableSsl = true,
DeliveryMethod = SmtpDeliveryMethod.Network,
UseDefaultCredentials = false,
Credentials = new NetworkCredential(maFrom.Address, sPassword)
}.Send(new MailMessage(maFrom, maTo) { Subject = sSubject, Body = sBody });