将用户名/密码传递给SmtpClient(.NET)的正确方法

时间:2010-08-03 18:49:51

标签: c# .net smtp smtpclient configuration-management

问题太简单了,但仍然很欣赏简短的回答。我希望SmtpClientApp.config文件中获取用户名/密码。从MSDN /架构我发现正确的文件(摘录)应该是这样的:

  <system.net>
    <mailSettings>
      <smtp from="foo@bar.com">
        <network
          host="mail.bar.com"
          port="25"
          userName="foouser"
          password="barpassword"
        />
      </smtp>
    </mailSettings>
  </system.net>

我正在尝试在初始化SmtpClient状态时找到要调用的正确API,以便从XML中很好地获取邮件和密码:

  var client = new SmtpClient( ... ); // how to fetch the servername?
  client.Credentials = new NetworkCredential( ... , ... ); // how to fetch user/pass
  client.Send(message);

是否有正确/专用的方式来抓取servernameuserpassword,还是应该像ConfigurationManager.AppSettings["server"]一样调用“常规”API?

1 个答案:

答案 0 :(得分:3)

不需要任何特殊内容,只需初始化并发送:)

SmtpClient client = new SmtpClient();
client.Send(mymessagehere);

就是这样,它将从配置中拉出来。