Asp.net 使用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";

我正在尝试配置控制台应用程序,以便向gmail中继服务器发送电子邮件

我使用的代码如下:

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;