C# 通过GMail发送电子邮件:连接尝试失败,因为连接方没有正确响应
我正在使用和在c#控制台应用程序上创建简单的电子邮件发送应用程序。但我在gmail上发送邮件时出错了 {“连接尝试失败,因为连接方没有 在一段时间后或建立连接后正确响应 失败,因为连接的主机未能响应XXX“} 这是我的密码:C# 通过GMail发送电子邮件:连接尝试失败,因为连接方没有正确响应,c#,email,smtp,C#,Email,Smtp,我正在使用和在c#控制台应用程序上创建简单的电子邮件发送应用程序。但我在gmail上发送邮件时出错了 {“连接尝试失败,因为连接方没有 在一段时间后或建立连接后正确响应 失败,因为连接的主机未能响应XXX“} 这是我的密码: class Program { private static string to = "XXX@gmail.com"; private static string from = "XXX@gmail.com"; pri
class Program
{
private static string to = "XXX@gmail.com";
private static string from = "XXX@gmail.com";
private static string subject="07/10/14";
private static string body;
private static string address = "XXX@gmail.com";
static void Main(string[] args)
{
MailMessage mail = new MailMessage();
mail.To.Add(to);
mail.From = new MailAddress(from);
mail.Subject = subject;
mail.Body = body;
mail.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587);
smtp.EnableSsl = true;
smtp.UseDefaultCredentials = false;
smtp.Credentials =
new System.Net.NetworkCredential(address, "YYYYY");
smtp.Send(mail);
Console.WriteLine("Sent");
Console.ReadLine();
}
}
我的App.Config文件:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
</appSettings>
<system.net>
<mailSettings>
<smtp from="XXX@gmail.com">
<network defaultCredentials="false"
userName="XXX@gmail.com"
password="YYYYY"
host="smtp.gmail.com" port="587" enableSsl="true"/>
</smtp>
</mailSettings>
</system.net>
</configuration>
我读过类似的文章。一些人建议将url转换为流。我没有得到它。一些人说问题可能在internet连接中。其他人说将smtp服务器设置为587。我已经应用了所有更改。仍然显示相同的错误
请建议我已经解决了这个问题 只需使用您的托管公司Smtp和端口..而不是gmail或其他..如果您是从托管公司发送的..请咨询您的IT部门以提供您的公司Smtp地址和端口..我做到了..解决了问题 这是我的工作代码。它还通过公司SMTP发送到gmail
class Program
{
private static string to = "XXXXr@youHostingComapny.com";
private static string from = "YYYYY@youHostingComapny.com";
private static string subject = "test Mail sent By Code";
private static string body = "Mail sent By Code";
static void Main(string[] args)
{
try
{
MailMessage mail = null;
using (mail = new MailMessage(new MailAddress(from), new MailAddress(to)))
{
mail.Subject = subject;
mail.Body = body;
mail.To.Add("ZZZZZZZZ@gmail.com");
SmtpClient smtpMail = null;
using (smtpMail = new SmtpClient("HostingComapny smtp Address"))
{
smtpMail.Port = Hosting Company Port No.;
smtpMail.EnableSsl = false;
smtpMail.Credentials = new NetworkCredential("youruserName", "yourPassword");
smtpMail.UseDefaultCredentials = false;
// and then send the mail
ServicePointManager.ServerCertificateValidationCallback =
delegate(object s, X509Certificate certificate,
X509Chain chain, SslPolicyErrors sslPolicyErrors)
{ return true; };
smtpMail.Send(mail);
Console.WriteLine("sent");
Console.ReadLine();
}
}
}
catch (Exception ex)
{
throw ex;
}
}
}
你试过以下方法吗<代码>mail.To.Add(新邮件地址(“XXX@gmail.com"));代码>可能是防火墙问题?我添加了mail.To.Add(新邮件地址(“XXX@gmail.com")); ...仍然不工作…@DGibbs它不在我的系统上…可能在公司网关上…在这种情况下可以做什么我的最后一个想法是在使用ssl时尝试端口465。还有一点可能很有趣:你应该能够将此标记为可接受的答案(通常在你可以这样做之前有一个时间限制),这比将问题更改为“已解决…”要好