使用本地计算机上的Gmail帐户发送电子邮件
问题描述:
我正在使用Gmail在我的asp.net应用程序中发送电子邮件。电子邮件工作正常,如果我在服务器上发送电子邮件,但如果我尝试在本地机器上发送电子邮件,它会给出错我在代码中放置了断点,当调用send方法时,它显示带有标题“Smtp异常未被用户代码处理”的错误框,详细地说它是“发送邮件的邮件”。使用本地计算机上的Gmail帐户发送电子邮件
如果我继续在浏览器中就说明这些细节错误页面:
一个现有的连接被强行远程主机关闭说明:当前Web请求的执行过程中发生未处理的异常。请查看堆栈跟踪以获取有关该错误的更多信息以及源代码的位置。
异常详细信息:System.Net.Sockets.SocketException:一个现有的连接被强行远程主机
下面是我的代码关闭,请指导我。
谢谢。
protected void btnConfirm_Click(object sender, EventArgs e)
{
string _Message = GetAdminEmailMessage();
MailMessage message = new MailMessage();
SmtpClient smtp = new SmtpClient();
NetworkCredential mailAuthentication = new NetworkCredential("[email protected]", "mypassword");
message.To.Add(new MailAddress("[email protected]"));
message.From = new MailAddress("[email protected]");
message.IsBodyHtml = true;
message.Subject = "Local test email";
message.Body = _Message;
smtp.UseDefaultCredentials = false;
smtp.EnableSsl = true;
smtp.Port = 587;
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.Host = "smtp.gmail.com";
smtp.Credentials = mailAuthentication;
smtp.Send(message);
}
答
错误代码0x800CCC0E表示端口被屏蔽:http://support.microsoft.com/kb/191687
尝试的telnet smtp.gmail.com 587 - 你能连接?
如果你的端口是畅通的,你的凭据是正确的,那么在这个问题上接受的答案代码应该工作..
Sending email through Gmail SMTP server with C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Mail;
using System.Net;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
var client = new SmtpClient("smtp.gmail.com", 587)
{
Credentials = new NetworkCredential("[email protected]", "mypwd"),
EnableSsl = true
};
client.Send("[email protected]", "[email protected]", "test", "testbody");
Console.WriteLine("Sent");
Console.ReadLine();
}
}
}
端口屏蔽了?或者你的IP被gmail*了?我会检查我可以从Outlook或类似的设置进行连接,然后再进一步排除故障 – StefanE 2011-01-14 11:15:44
StefanE我试图使用Outlook连接到gmail和follwoign错误,我很抱歉,我没有得到它可以üplz adice。与服务器的连接失败。帐户:'smtp.gmail.com',服务器:'smtp.gmail.com',协议:POP3,端口:110,安全(SSL):否,套接字错误:10060,错误编号:0x800CCC0E – haansi 2011-01-14 11:43:58