在ASP.NET中向注册用户发送电子邮件

时间:2011-09-15 16:11:24

标签: asp.net

我正在开发一个ASP.NET网站(VS2008,C#),我将向用户发送电子邮件,我有哪些选择?在主机或服务器方面我需要什么?我可以使用共享主机吗?我的服务器应该提供哪些服务才能发送电子邮件?是否有发送电子邮件的示例代码? 感谢

3 个答案:

答案 0 :(得分:1)

您可以使用google作为smtp服务器(smtp.gmail.com)

        Int32 port = 465;
        SmtpClient client  = new SmtpClient();
        client.Host = "smtp.gmail.com";
        client.Credentials = new System.Net.NetworkCredential("yourusername", "yourpassword");
        MailMessage message = new MailMessage("fromemailaddress", "toemailaddress");
        message.Body = "Hello!";
        message.Subject = "Hello!";
        client.Send(message);

此外,您可以将凭据放在web.config文件中,这样您就不必在代码中的任何地方指定邮件。

不要忘记包含以下内容:     使用System.Net.Mail;

答案 1 :(得分:0)

您真正需要的只是访问某种SMTP服务器。这可以从您的主机获得,但它们可以在任何地方 - 您只需要一个IP地址和凭据。

发送电子邮件很简单,take a look here

答案 2 :(得分:0)

要发送电子邮件,您需要提供以下详细信息: 主机名 港口 如果不是SMTP服务器,则不需要传递NetworkCredential。

您可以使用Google或Hotmail主机服务器。

适用于Google主机服务器 主机名“smtp.gmail.com” 港口587 SSL连接是

对于Hotmail主机服务器 主机名“smtp.live.com” 港口587/25 SSL连接错误

您可以使用以下课程: MAILMESSAGE SmtpClient

此外,Asp.net中的所有设置都可以在webconfig中设置

<configuration>
  <system.net>
    <mailSettings>
      <smtp from="example@domain.com" deliveryMethod="Network">
          <network host="smtp.gmail.com" port="587"
              userName="example@domain.com" password="password"/>
      </smtp>
    </mailSettings>
  </system.net>
</configuration>

比查看示例代码

MailMessagemessage = new MailMessage("greg@gmail.com");
message.From = new MailAddress("example@domain.com", "Greg");


SmtpClientclient = new SmtpClient();
client.EnableSsl = true;
client.Send(message);