当我尝试使用VB.Net或C#通过Gmail发送电子邮件时,我不断收到以下消息:发送电子邮件失败-试图以其访问权限所禁止的方式访问套接字-无法访问远程服务器。我试过使用几个Gmail帐户,包括过去有效的VB.Net代码,如下所示:
Message = New MailMessage(Sender, Recipient, Subject, MessageBody)
SMTPServer = New SmtpClient("smtp.gmail.com", 587)'Port 465 fails as well
SMTPServer.EnableSsl = True
SMTPServer.Credentials = New NetworkCredential("Username@gmail.com", "password")
SMTPServer.Send(Message)
(我知道web.config可以用于上面的很多内容)。
显然,Gmail一定更改了一些设置或类似的设置?
是McAfee防病毒阻止了电子邮件的发送。谢谢你的帮助,也很抱歉浪费了大家的时间。
这段代码对我来说很好:
try
{
MailMessage mail = new MailMessage(); //using System.Net.Mail namespace
mail.To.Add("xyz@yahoo.com"); //Enter reciever's email address
mail.From = new MailAddress("abc@gmail.com"); //Enter sender's email address
mail.Subject = "Testing mail...";
mail.Body = @"Lets-code ! Lets-code to make it simpler";
mail.IsBodyHtml = true; //Body of mail supports html tags
SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com";
smtp.Port = 587;
smtp.Credentials = new System.Net.NetworkCredential("abc@gmail.com", "pwd");
// Your gmail username and password
smtp.EnableSsl = true; //Gmail uses a encrypted connection
smtp.Send(mail);
Response.Write("Mail Sent Successfully");
}
catch(Exception ex)
{
Response.Write(ex.Message);
}
如果这没有帮助,请在另一台机器上尝试。Windows7有自己的防火墙。也要检查一下。
我不知道该怎么评论,所以:我想你忘了端口和一些东西。看看这是否有帮助:
Imports System.Net.Mail
Protected Sub btnSendEmail_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim mail As MailMessage = New MailMessage()
mail.To.Add("receiversmail@gmail.com")
mail.From = New MailAddress("yourmail@gmail.com")
mail.Subject = "Email using Gmail"
String Body = "Sending mail using Gmail's SMTP"
mail.Body = Body
mail.IsBodyHtml = True
Dim smtp As SmtpClient = New SmtpClient()
smtp.Host = "smtp.gmail.com"
smtp.Credentials = New System.Net.NetworkCredential
("yourmail@gmail.com","password")
smtp.EnableSsl = True
smtp.Port = 587
smtp.EnableSsl = true
smtp.Send(mail)
End Sub
尝试此编辑
google有新的例程来保护您的gmail帐户,要使用此代码,您必须转到gmail设置并关闭对不太安全的客户端的阻止。