我正在使用MailMessage类发送电子邮件
MailMessage msg = new MailMessage(fromAddr, toAddr);
当我创建新的MailMessage对象时,它会自动使用fromAddr获取主机。例如,如果我的fromaddress是chamara@pindoc.com.au,它假设主机为pindoc.com.au,但我有一个不同的名称对于host.so主机名是错误的。我认为因为我得到以下错误。
{“邮箱不可用。服务器响应是:5.7.1无法中继”} System.Exception {System.Net.Mail.SmtpFailedRecipientException}
我该如何解决这个问题?
答案 0 :(得分:2)
您检查了mailSettings
吗?示例web.config如下:
<system.net>
<mailSettings>
<smtp deliveryMethod="Network" from="no-reply@yourdomain.com">
<network defaultCredentials="true" host="mail.yourdomain.com" port="25"/>
</smtp>
</mailSettings>
</system.net>
答案 1 :(得分:1)
您可以在创建SmtpClient对象的实例时指定邮件服务器(以及端口号和身份验证等其他详细信息)
SmtpClient client = new SmtpClient("different.hostname"); // specify your hostname
client.Send(msg);
你也可以指定你的smtp details in the web.config or app.config,SmtpClient会自动选择这些......
SmtpClient client = new SmtpClient();
client.Send(msg);
答案 2 :(得分:0)
通常,我会使用SmtpClient发送消息。它的构造函数需要一个主机和端口:
SmtpClient mailClient = new SmtpClient("mail.domain.com", 25);
mailClient.Send(msg);