Asp.net 使用gmail发送电子邮件:操作已超时
我正在尝试配置控制台应用程序,以便向gmail中继服务器发送电子邮件 我使用的代码如下:Asp.net 使用gmail发送电子邮件:操作已超时,asp.net,.net,email,smtp,Asp.net,.net,Email,Smtp,我正在尝试配置控制台应用程序,以便向gmail中继服务器发送电子邮件 我使用的代码如下: class Program { static void Main(string[] args) { string header; string body; string emailTo; string emailFrom = "anton.selin@inbox.com";
class Program
{
static void Main(string[] args) {
string header;
string body;
string emailTo;
string emailFrom = "anton.selin@inbox.com";
Console.WriteLine("Enter the header : ");
header = Console.ReadLine();
Console.WriteLine("Enter the message body : ");
body = Console.ReadLine();
Console.WriteLine("Enter your email : ");
emailTo = Console.ReadLine();
SmtpClient smtpClient = new SmtpClient("smtp.gmail.com", 465);
smtpClient.Credentials = new System.Net.NetworkCredential("anton.selin1@gmail.com", "**********");
smtpClient.UseDefaultCredentials = true;
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
smtpClient.EnableSsl = true;
MailMessage mail = new MailMessage();
mail.From = new MailAddress(emailFrom,"anton selin");
mail.To.Add(new MailAddress(emailTo));
mail.Body = body;
mail.Subject = header;
Console.WriteLine("Sending email...");
smtpClient.Send(mail);
Console.WriteLine("Email sent...");
Console.ReadKey();
}
}
当我运行代码时,它会给我一个超时错误:
{"The operation has timed out."}
如何将我的应用程序配置为能够从控制台应用程序或web应用程序(从本地主机)发送电子邮件?检查此问题,我认为这是您的问题
string emailFrom = "anton.selin@inbox.com";
smtpClient.Credentials = new System.Net.NetworkCredential("anton.selin1@gmail.com", "**********");
mail.From = new MailAddress(emailFrom,"anton selin");
你正在使用gmail发送邮件,而你应该使用anton。selin@inbox.com
发送邮件而非Gmail的凭据
请尝试使用以下代码发送邮件:
MailMessage mail = new MailMessage();
SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");
mail.From = new MailAddress(Username);
mail.To.Add(emailTo);
mail.Subject = Subject;
mail.Body = Body;
SmtpServer.Port = 587; // Also Add the port number to send it, its default for Gmail
SmtpServer.Credentials = new System.Net.NetworkCredential(Username, Password);
SmtpServer.EnableSsl = true;
SmtpServer.Timeout = 20000; // Add Timeout property
SmtpServer.Send(mail);
让我知道它是否有效。stacktrace也会帮助查看连接操作或其他操作是否超时,Google帮助页面:谢谢,它工作得很好;我认为问题在于这行代码:smtpClient.DeliveryMethod=SmtpDeliveryMethod.Network;