首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用SmtpClient发送邮件

使用SmtpClient发送邮件
EN

Stack Overflow用户
提问于 2012-08-07 18:56:24
回答 5查看 15K关注 0票数 3

这是我第一次写发送邮件的程序。我不知道要在SMTP客户端构造函数中放入什么:

代码语言:javascript
复制
SmtpClient client = new SmtpClient(????);

有人能帮上忙吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-08-07 19:03:17

请始终查阅文档。SmptClient有三个构造函数。

代码语言:javascript
复制
SmtpClient()
SmtpClient(String)
SmtpClient(String, Int32)

如果您选择最后一个,那么对于gmail,您的代码将如下所示:

代码语言:javascript
复制
SmtpClient client = new SmtpClient("smtp.gmail.com", 587);

您也可以使用first构造函数并设置属性。

代码语言:javascript
复制
SmtpClient smtp = new SmtpClient();
smtp.Port = 587; 
smtp.EnableSsl = true;
smtp.Credentials = new NetworkCredential("<email_from>",  "password");
smtp.Host = "smtp.gmail.com";   
票数 12
EN

Stack Overflow用户

发布于 2012-08-07 19:00:28

这是您的host和可选的port

例如:

代码语言:javascript
复制
SmtpClient client = new SmtpClient("mail.domain.com", 123);

有关更多信息,请阅读此类的MSDN文档:

http://msdn.microsoft.com/en-us/library/system.net.mail.smtpclient.aspx

票数 4
EN

Stack Overflow用户

发布于 2012-08-07 20:03:56

您可以按照其他人的建议在代码中指定SMTP主机和端口。

但是,如果您总是使用相同的主机和端口,那么使用默认的SmtpClient构造函数并在the element of your application configuration file中指定主机和端口可能会更容易、更灵活

代码语言:javascript
复制
using(var smtpClient = new SmtpClient())
{
    ...
}


<system.net>
    <mailSettings>
        <smtp deliveryMethod="network" from="ben@contoso.com">
            <network 
                 host="localhost"
                 port="25"
                 defaultCredentials="true"
            />
        </smtp>
    </mailSettings>
<system.net>

这样做的一个好处是,您可以在开发/测试环境中使用不同的配置,例如下面的配置,这将避免在不更改任何代码的情况下向系统的邮件收件人发送不需要的邮件。

代码语言:javascript
复制
<smtp deliveryMethod="SpecifiedPickupDirectory" from="ben@contoso.com">
  <network host="localhost"/>
  <specifiedPickupDirectory pickupDirectoryLocation="C:\temp\mail\"/>
</smtp>
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11844428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档