c# - ConfigurationManager.AppSettings ["SMTP"];空异常

标签 c# asp.net smtp

我用这个代码发送了一封电子邮件。但我不明白那个 configurationManager 做了什么,以及为什么它给我异常(exception)。这是完整的代码:

        MailMessage mail = new MailMessage();

    mail.To.Add("makovetskiyd@yahoo.co.uk");

    mail.From = new MailAddress("makovetskiyd@yahoo.co.uk");

    mail.Subject = "Test Email";

    string Body = "Welcome to CodeDigest.Com!!";

    mail.Body = Body;

    SmtpClient smtp = new SmtpClient();

    smtp.Host = ConfigurationManager.AppSettings["SMTP"];

    smtp.Send(mail);

我还将最后几行更改为: smtp.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis;

        smtp.Send(mail);

但它仍然会显示错误,说它没有找到 IIS 服务器..或类似的东西

最佳答案

您不应使用 AppSettings 和 ConfigurationManager 进行 SMTP 配置。首选方式是 configure SMTP通过 <mailSettings> web.config 中的部分。例如,小型网站的配置可能如下所示:

<system.net>
  <mailSettings>
     <smtp from="info@example.com">
        <network host="localhost" port="25" defaultCredentials="false">
     </smtp>
  </mailSettings>
</system.net>

这将允许您新建一个 SmtpClient无需进一步配置即可发送消息。

关于c# - ConfigurationManager.AppSettings ["SMTP"];空异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5946995/

相关文章:

c# - ASP.Net - 通过 IIS 7.5 SMTP 服务器发送 SMTP 邮件

python - 如何使用 smtp 发送 html 电子邮件内嵌的 plot.ly 图像?

c# - 将 UI 线程的 TaskScheduler 存储在字段中是否安全?

javascript - 异步和等待方法

jquery - ASP.NET MVC4 jquery/javascript 包的使用

c# - C#中如何处理空异常

php - CodeIgniter:来自 PHPMailer 代码的 SSL/TLS SMTP 身份验证电子邮件

c# - 如何在params中传递ref参数

c# - 如何在 C# 中获得与在 PHP 单元测试中相同的 HMAC256 结果?

android - 如何在c#中加密文件并在android和IOS上解密