2013-03-07 80 views
-2

早上,我不明白为什么这段代码不工作!谢谢,等待awnsers :)SMTP电子邮件不工作,5.7.1客户端没有权限发送作为此发送人

protected void Enviar_Click(object sender, EventArgs e) 
    { 


     var pass = new NetworkCredential(); 
     pass.UserName = "[email protected]"; 
     pass.Password = "password"; 


     var smtpClient = new SmtpClient(); 

     smtpClient.Port = 587; 
     smtpClient.Host = "smtp.gmail.com"; 
     smtpClient.Credentials = pass; 
     smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network; 
     smtpClient.EnableSsl = true; 
     smtpClient.UseDefaultCredentials = false; 


     var email = new MailMessage(pass.UserName, "[email protected]", txtsubject.Text, 
            "name : " + txtname.Text + "menssage : " + txtMessage.Text); 

     SMTP.Enviar(email); 
    } 
+1

您花费大量时间设置SmtpClient,然后完全无法使用它。什么是'SMTP'呢?我们是否想要猜测? – spender 2013-03-07 12:33:44

+0

另请尝试设置UseDefaultCredentials = false;在Credentials = Pass – 2013-03-07 12:34:56

+0

之前没有工作,我也改变了Web.config,但是它没有改变,当它运行 – user2144202 2013-03-07 13:29:38

回答

0

看起来像你需要启用POP3 Gmail帐户 - 请查看关于Gmail的POP访问的具体说明,Gmail的帮助部分与您的电子邮件程序设置此功能。如果您只想使用SMTP服务器,请跳过POP位并仅设置SMTP以使用现有电子邮件帐户。

+0

好,但如果我使用交换,我可以做同样的事情? – user2144202 2013-03-07 12:50:25

+0

如果您使用交换,您可能必须使用不同的端口,并且您交换服务器必须支持smtp邮件发送 – kleinohad 2013-03-08 14:27:12