0

我正在使用 Mailgun nuget 包在我的应用程序中发送电子邮件。我关注了这篇文章

http://support.appharbor.com/discussions/problems/906-mailgun-error-smtp-client

作为我的出发点。这是我使用客户端调用 API

string domain = ConfigurationManager.AppSettings["MAILGUN_SMTP_SERVER"];
string api_key = ConfigurationManager.AppSettings["MAILGUN_API_KEY"];
MailgunClient client = new MailgunClient(domain, api_key);
                    client.SendMail(new System.Net.Mail.MailMessage("admin@" + domain, "xxxx@example.com")
                    {
                        Subject = "Hello from mailgun",
                        Body = "this is a test message from mailgun."
                    });

这是我的 web.config 设置

<add key="MAILGUN_API_KEY" value="key-*********************" />
<add key="MAILGUN_SMTP_SERVER" value="xmailgunapp.mailgun.org" />

这在我的本地应用程序中有效,但是,当我将其推送到 Appharbor 时,我得到了错误

System.Exception:找不到域:smtp.mailgun.org

似乎还有更多的应用程序设置

http://support.appharbor.com/kb/add-ons/using-mailgun

但我找不到任何关于如何将它们集成到包客户端的文档。谁能告诉我我可能做错了什么?

4

1 回答 1

0

domain 属性不是 SMTP 服务器,而是您自己的域,MailGun 在注册时为您提供:

string domain = "staafl.mailgun.org";

请注意,在这种情况下,您使用的不是 SMTP,而是 HTTP 服务接口 - 请参阅http://documentation.mailgun.com/user_manual.html#sending-messages

如果要使用 SMTP,可以使用 .NET 的 SmtpClient 类和 MAILGIN_SMTP_LOGIN/MAILGIN_SMTP_SERVER 等配置设置。

于 2013-08-18T15:46:02.083 回答