在asp.net mvc4 smtp.Send(邮件)中发送邮件失败 [英] Failure sending Mail in asp.net mvc4 smtp.Send(mail)
本文介绍了在asp.net mvc4 smtp.Send(邮件)中发送邮件失败的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在stackoverflow中发现了有关此问题的帖子数量,但是仍然没有解决我的问题.我尝试使用以下代码发送邮件:
I find out number of posts regarding to this Issue in stackoverflow, But Still my problem was not solved. I tried to send a mail using the below code:
在控制器中:
try
{
MailMessage mail = new MailMessage();
mail.To.Add("mailto@gmail.com");
mail.From = new MailAddress("mailfrom@gmail.com");
mail.Subject = "Feedback for Website";
string Body = "Name:";
mail.Body = Body;
mail.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com";
smtp.EnableSsl = true;
smtp.Credentials = new System.Net.NetworkCredential("mailTo@gmail.com", "topassword");
smtp.Send(mail);
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
web.config:
<system.net>
<mailSettings>
<smtp deliveryMethod="PickupDirectoryFromIis">
<network defaultCredentials="true" host="localhost" port="25"/>
</smtp>
</mailSettings>
我也尝试过:
<smtp from="mymail@gmail.com">
<network enableSsl="true" host="smtp.gmail.com" port="587" userName="mymail@gmail.com" password="mypassword" />
在我的输出中调试时:
Step into: Stepping over non-user code 'System.Net.Mail.MailMessage.MailMessage'
Step into: Stepping over non-user code 'System.Net.Mail.MailMessage.To.get'
Step into: Stepping over non-user code 'System.Net.Mail.MailAddress.MailAddress'
Step into: Stepping over non-user code 'System.Net.Mail.MailMessage.Subject.set'
Step into: Stepping over non-user code 'System.Net.Mail.MailMessage.Body.set'
Step into: Stepping over non-user code 'System.Net.Mail.MailMessage.IsBodyHtml.set'
Step into: Stepping over non-user code 'System.Net.Mail.SmtpClient.SmtpClient'
Step into: Stepping over non-user code 'System.Net.Mail.SmtpClient.Host.set'
Step into: Stepping over non-user code 'System.Net.Mail.SmtpClient.EnableSsl.set'
The thread '<Thread Ended>' (0x1f38) has exited with code 0 (0x0).
'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\assembly\GAC_MSIL\Microsoft.VisualStudio.Debugger.Runtime\11.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.Debugger.Runtime.dll'
Step into: Stepping over non-user code 'System.Net.NetworkCredential.NetworkCredential'
The thread '<No Name>' (0x23d8) has exited with code 0 (0x0).
Step into: Stepping over non-user code 'System.Net.Mail.SmtpClient.Send'
A first chance exception of type 'System.Net.Mail.SmtpException' occurred in System.dll
The thread '<Thread Ended>' (0x1474) has exited with code 0 (0x0).
如何解决此问题.请帮助我.
How to solve this.. Please help me..
推荐答案
最后,经过长时间的搜索,我解决了这个问题:
Finally after long searches I solved the issue:
Host = "172.**.*.***",
Port = 25,
EnableSsl = false,
Changed host from smtp.gmail.com to "172.**.*.***"(my mail server IP)
port changed from 587 to 25
and set false to EnableSsl
它在本地运行.通过使用本地服务器主机.
It was working for local.. By using local server host.
这篇关于在asp.net mvc4 smtp.Send(邮件)中发送邮件失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文