如何从我的C#代码隐藏发送电子邮件 – 获取System.Net.Mail.SmtpFailedRecipientException
我有一个网络表单,有人可以设置帐户 – 我想给他们发送电子邮件确认。
我正在使用的代码:
// Create e-mail message MailMessage mm = new MailMessage(); mm.From = new MailAddress("OurOrganisationEmail@ourdomain.com", "Our Organisation"); mm.To.Add(new MailAddress("webuser@domain.com", "Web User")); mm.Subject = "Confirmation"; mm.Body = "You are now registered test"; mm.IsBodyHtml = true; // Send e-mail sc = new SmtpClient(); NetworkCredential basicAuthenticationInfo = new NetworkCredential(“OurOrganisationEmail@ourdomain.com”, “ourorganisationemailPassword”); sc.Credentials = basicAuthenticationInfo; sc.UseDefaultCredentials = false; sc.Send(mm);
web.config中:
但得到:
System.Net.Mail.SmtpFailedRecipientException was caught HResult=-2146233088 Message=Mailbox unavailable. The server response was: Authentication is required for relay Source=System FailedRecipient=
看起来它想要我想要发送到的url的用户登录详细信息。 我该如何修改并发送所有其他商业公司的确认电子邮件?
好的 – 让它工作。 以下是工作编码; 看起来像我配置NetworkCredential对象是问题。 感谢大家帮助我帮助我找到解决方案。
MailAddress fromAddress = new MailAddress("OurOrganisationEmail@ourdomain.com","Our Organisation");//"name@yourdomain.com"; MailAddress toAddress = new MailAddress("webuser@domain.com", "Web User"); //"name@anydomain.com"; //Create the MailMessage instance MailMessage myMailMessage = new MailMessage(fromAddress, toAddress); //Assign the MailMessage's properties myMailMessage.Subject = "Confirmation"; myMailMessage.Body = "You are now registered test"; myMailMessage.IsBodyHtml = true; //Create the SmtpClient object SmtpClient smtp = new SmtpClient(); //Send the MailMessage (will use the Web.config settings) smtp.Send(myMailMessage);
web.config中
您的客户端代码看起来很好,问题可能出在web.config
:
host="mail.OurOrganisationEmail@ourdomain.com"
它是一个email address
,而不是有效的hostname
它应该如下所示:
host="mail.ourdomain.com"
你测试过smtp server
有效吗? 只需使用telnet
进行一些基本测试。 https://technet.microsoft.com/en-us/library/aa995718(v=exchg.65).aspx
此外,请查看此post了解更多信息通过C#通过Google Apps帐户发送电子邮件
我猜这是因为您的网站没有在域帐户下运行。 许多邮件服务器不允许匿名用户发送电子邮件。
您可以尝试创建域中的服务帐户,并将应用程序池设置为在该服务帐户下运行。
上述就是C#学习教程:如何从我的C#代码隐藏发送电子邮件 – 获取System.Net.Mail.SmtpFailedRecipientException分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1009354.html