【问题标题】:C# Sending Email using SMTP E-mailC# 使用 SMTP 电子邮件发送电子邮件
【发布时间】:2016-04-17 01:21:04
【问题描述】:

我对 SMTP 和 IIS 设置相当陌生,但根据我已阅读网络上的文档,这应该可以工作。

我想要达到的目标: 使用现有 SMTP 中继服务器将电子邮件从服务器发送到用户电子邮件。

我做了什么: 在我的 IIS 中,对于我的站点 (ASP.NET),我已经配置了 SMTP 电子邮件。 我已进入:

  1. 一个随机的电子邮件地址(不一定是现有的,对吧?)
  2. SMTP 服务器 IP(在本例中为外部 SMTP 中继服务器的 IP)
  3. 端口号 (25)。
  4. 身份验证设置为“不需要”。

我发送电子邮件的方法如下:

public static void SendEmail()
{
    var message = new MailMessage()
    {
        Subject = "Heading",
        Body = "Body",

        message.From = new MailAddress("test@test.com");
        message.To.Add("A valid email address"); //My own email address
    }
    var smtpClient = new SmtpClient("SMTP-Relay-Server-IP", 25); //Same IP as the one in SMTP E-mail configuration in IIS for the site.         
    smtpClient.Send(message);
}
}

事实/问题:

  1. 这是正确的吗?在新的SmtpClient中也将中继服务器IP和端口号作为参数放入代码中是否正确?
  2. 我没有收到错误消息,但没有收到电子邮件。 (我 100% 确定“发送电子邮件”是正确的。
  3. 这不起作用的原因是什么?我遗漏了什么或误解了什么?

【问题讨论】:

    标签: c# asp.net iis smtp


    【解决方案1】:

    将您的 smtpClient.Send(message); 包装在 try/catch 块中并记录引发的任何异常。

    一个随机的电子邮件地址(不一定是现有的,对吧?)

    这取决于您的 SMTP 提供商和配置。

    如果没有关于您的 SMTP 提供商的更多信息或错误消息,我怀疑我们能为您做些什么。

    【讨论】:

    • 试过了,没有抛出异常,说明它似乎可以正常工作。
    • @ChrisRun 检查您的 SMTP 是否有错误。可能是 SMTP 出现问题,导致电子邮件无法发送。您的 SMTP 提供商是什么?它是本地托管的交换服务器吗?
    • 没有 SMTP 错误,但我发现我发送的所有电子邮件都作为 .EML 文件发送到 C:\inetpub\mailroot\Queue。如果我打开它们,它们会包含正确的主题、正文甚至收件人地址。
    • 如果消息正在排队,但没有发送,那么我会假设 SMTP 服务器无法发送消息。检查您的日志文件。
    【解决方案2】:
    MailMessage mail = new MailMessage("sendTo", "from");
    SmtpClient smtp = new SmtpClient();
    smtp.Credentials = new NetworkCredential("user", "pass");
    smtp.Port = 25;
    smtp.EnableSsl = true;
    smtp.Host = "smtp.gmail.com";
    mail.Body = "this my message";
    smtp.Send(mail);
    

    应该这样设置

    【讨论】:

    • 你怎么知道 SMTP 是 gmail? OP说设置了匿名身份验证,无法在gmail中配置,因此无需设置网络凭据。无论如何,端口 25 甚至都不适用于 gmail。你甚至没有告诉 OP 他可能做错了什么,而且看起来你甚至没有尝试分析问题。
    猜你喜欢
    • 2011-07-30
    • 1970-01-01
    • 1970-01-01
    • 2019-01-09
    • 1970-01-01
    • 2017-02-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多