C#Appharbor和Mailgun不发送电子邮件

时间:2013-06-16 03:36:00

标签: c# dns nuget appharbor mailgun

我正在使用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

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

1 个答案:

答案 0 :(得分:0)

域属性不是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等配置设置。