【问题标题】:"Request for the permission of type 'System.Net.Mail.SmtpPermission" in .NET when trying to use Amazon SES with shared hosting尝试将 Amazon SES 与共享托管一起使用时,在 .NET 中请求“System.Net.Mail.SmtpPermission”类型的权限
【发布时间】:2016-08-22 18:01:59
【问题描述】:

我们正在尝试使用 Amazon SES 向注册用户发送自动验证电子邮件。 我们有一个共享托管账户,并已在 Amazon SES 上验证了域。

它在本地工作,但在服务器上,我们不断收到此错误:

“请求'System.Net.Mail.SmtpPermission, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'类型的权限失败。”

我们搜索了所有类似的帖子,包括 this,但仍然感到困惑:我们做错了什么?

我们的 web.config 设置:

<appSettings>
    ...
    <add key="EMAIL_FROM_PREFIX" value="hey UD"></add>
    <add key="EMAIL_FROM" value="verify@heyud.com"></add>
    <add key="EMAIL_TO" value="admin@heyud.com"></add>
    <add key="EMAIL_SUBJECT" value="heyUD user verification"></add>

    <add key="SMTP_USERNAME" value="asdf"></add>
    <add key="SMTP_PASSWORD" value="asdf"></add>
    <add key="SMTP_HOST" value="email-smtp.us-east-1.amazonaws.com"></add>
    <add key="SMTP_PORT" value="25"></add>
  </appSettings>

这是 Elmah 的截图:https://www.dropbox.com/s/t2ngk0ddcy0c5q6/Screenshot%202014-01-31%2000.34.06.png

【问题讨论】:

    标签: c# asp.net smtp amazon-ses


    【解决方案1】:

    GoDaddy 共享主机的限制往往非常严格(尤其是在通过 SMTP 发送电子邮件时)。

    尝试使用AmazonSimpleEmailServiceClient.SendEmail 而不是 SMTP。

    AmazonSimpleEmailServiceClient client = 
        new AmazonSimpleEmailServiceClient("awsKey", "awsSecret");
    
    SendEmailRequest req = new SendEmailRequest()
        .WithDestination(new Destination() { ToAddresses = new List<string> { "admin@heyud.com" } })
        .WithSource("verify@heyud.com")
        .WithReturnPath("verify@heyud.com")
        .WithMessage(
            new Amazon.SimpleEmail.Model.Message(new Content("Sup Bro?"),
            new Body().WithHtml(new Content("<em>Gurl look at ma body</em>, <b>I work out</b>"))));
                    
    var resp = client.SendEmail(req);
    

    或完全忘记 SES,然后这样做:https://stackoverflow.com/a/5685126/585552 (发件人地址必须与您发送的站点的域相匹配)

    【讨论】:

    • 非常感谢 - 我们遵循了您的第一个建议(使用 SendEmail),它现在正在工作 :) 除了选择正确的答案之外,我还希望我能投票赞成您的答案一个......不幸的是,仍然没有所需的 15 个代表。
    猜你喜欢
    • 2012-08-13
    • 2017-07-25
    • 1970-01-01
    • 2019-11-04
    • 2012-07-17
    • 1970-01-01
    • 2019-08-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多