使用MailMessage类

时间:2011-11-02 02:16:34

标签: c# asp.net mailmessage

我正在使用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}

我该如何解决这个问题?

3 个答案:

答案 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);