这是我第一次写发送邮件的程序。我不知道要在SMTP客户端构造函数中放入什么:
SmtpClient client = new SmtpClient(????);有人能帮上忙吗?
发布于 2012-08-07 19:03:17
请始终查阅文档。SmptClient有三个构造函数。
SmtpClient()
SmtpClient(String)
SmtpClient(String, Int32)如果您选择最后一个,那么对于gmail,您的代码将如下所示:
SmtpClient client = new SmtpClient("smtp.gmail.com", 587);您也可以使用first构造函数并设置属性。
SmtpClient smtp = new SmtpClient();
smtp.Port = 587;
smtp.EnableSsl = true;
smtp.Credentials = new NetworkCredential("<email_from>", "password");
smtp.Host = "smtp.gmail.com"; 发布于 2012-08-07 19:00:28
这是您的host和可选的port。
例如:
SmtpClient client = new SmtpClient("mail.domain.com", 123);有关更多信息,请阅读此类的MSDN文档:
http://msdn.microsoft.com/en-us/library/system.net.mail.smtpclient.aspx
发布于 2012-08-07 20:03:56
您可以按照其他人的建议在代码中指定SMTP主机和端口。
但是,如果您总是使用相同的主机和端口,那么使用默认的SmtpClient构造函数并在the element of your application configuration file中指定主机和端口可能会更容易、更灵活
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>这样做的一个好处是,您可以在开发/测试环境中使用不同的配置,例如下面的配置,这将避免在不更改任何代码的情况下向系统的邮件收件人发送不需要的邮件。
<smtp deliveryMethod="SpecifiedPickupDirectory" from="ben@contoso.com">
<network host="localhost"/>
<specifiedPickupDirectory pickupDirectoryLocation="C:\temp\mail\"/>
</smtp>https://stackoverflow.com/questions/11844428
复制相似问题