使用System.Net.Mail发送电子邮件

时间:2013-04-10 15:50:57

标签: asp.net email

我试图通过这样做发送邮件从admin@bitcoindk.dk到hejmeddig@gmail.com:

    MailMessage mailObj = new MailMessage();
    mailObj.From = new MailAddress("admin@bit.dk");
    mailObj.To.Add("hejmeddig@gmail.com");
    mailObj.Body = "HEJ";
    mailObj.Subject = "HEJ";

    SmtpClient SMTPServer = new SmtpClient();
    SMTPServer.Send(mailObj);

在我的web.config中,我有这个:

  <system.net>
    <mailSettings>
      <smtp from="admin@bitcoindk.dk">
        <network host="mail.bitcoindk.dk" port="25" userName="admin@bitcoindk.dk" password="password"  />
      </smtp>
    </mailSettings>
  </system.net>

当我发送邮件时,我得到了这个例外

Transaction failed. The server response was: 5.7.1 <hejmeddig@gmail.com>: Relay access denied

如果我发送邮件到admin@bit.dk,它可以正常工作。但如果我发送到hejmeddig@gmail.com,或任何其他邮件,我得到例外。我正在使用Uno Euro的邮件服务。

2 个答案:

答案 0 :(得分:1)

这是我用来发送电子邮件的方式。看看这样的事情是否有助于解决您的问题。

SmtpSection cfg = NetSectionGroup.GetSectionGroup(WebConfigurationManager.OpenWebConfiguration("~/web.config")).MailSettings.Smtp;
MailMessage objMessage = new MailMessage();
objMessage.IsBodyHtml = true;
objMessage.From = new MailAddress(cfg.From);
objMessage.Subject = "Some Subject";
objMessage.Body = sb.ToString();
objMessage.To.Add(new MailAddress("google@gmail.com"));
SmtpClient client = new SmtpClient(cfg.Network.Host);
client.Send(objMessage);

的Web.config

<mailSettings>
    <smtp from="fromemail@mydomain.com">
         <network host="mail.mydomain.com" port="25" userName="mydomain.com" password="myPassword" />
    </smtp>
</mailSettings>

答案 1 :(得分:0)

我使用的是错误的外发邮件服务器。