以下是我通过http代理发送邮件的代码。我已将我的代理设置为与上述相同。现在,当我尝试运行程序时,经过一段时间它会说* System.Net.WebException:无法解析远程名称。我可以知道我哪里出错吗?
protected void mailto(string message)
{
WebRequest.DefaultWebProxy = new WebProxy("10.1.1.4", 8080);
try
{
MailMessage mail = new MailMessage();
SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");
mail.From = new MailAddress("mymail@gmail.com");
mail.To.Add("to_address");
mail.Subject = "For Data Using";
mail.Body = message;
SmtpServer.Port = 465;// Tried even with 587, but no luck
SmtpServer.Credentials = new System.Net.NetworkCredential("mymail@gmail.com", "mypassword");
SmtpServer.EnableSsl = true;
SmtpServer.Send(mail);
Debug.WriteLine(Environment.NewLine + "message sent");
}
catch (Exception ex)
{
Debug.WriteLine("Message not sent" + ex.ToString());
}
}
答案 0 :(得分:1)
我在使用Gmail SMTP从c#发送邮件遇到了同样的问题,问题是端口问题。 尝试使用端口:587
SmtpServer.Port = 587;
另外请不要忘记启用POP& IMAP访问您的Gmail帐户,转到设置,从标签中选择“转发和POP / IMAP”,然后启用POP& IMAP