【问题标题】:Haskell: TLS not supported error in mime-mail-sesHaskell:mime-mail-ses 中的 TLS 不支持错误
【发布时间】:2018-09-18 03:32:49
【问题描述】:

当我尝试使用 mime-mail-ses 包发送电子邮件时,我收到“TlsNotSupported”错误消息。我阅读了这个文档(如下),它似乎为 STARTTLS(而不是 TLS)指定了端口号,但 mime-mail-ses 或 mime-mail 似乎都没有办法指定端口号,如果这实际上是一种补救措施问题。

https://docs.aws.amazon.com/ses/latest/DeveloperGuide/smtp-connect.html

ses = SES seFrom seTo seAccessKey seSecretKey seSessionToken seRegion

sMail' = simpleMail' mFrom mTo body L.empty

main = do  
  manager <- newManager defaultManagerSettings  
  renderSendMailSES manager ses sMail'

我收到以下消息:

Exception: HttpExceptionRequest Request {  
  ...
  port     = 443
  ...}  
TlsNotSupported

【问题讨论】:

  • 希望您在 AWS 设置中打开该端口以供访问。
  • @Sibi,感谢您的回复。该端口不是我的 AWS 设置中列出的端口之一,我看不到将其包含在其中的方法。关于如何做到这一点的任何想法?

标签: email haskell mime-mail


【解决方案1】:

问题在于defaultManagerSettings 不提供 TLS 支持。相反,您需要使用启用 TLS 的管理器,例如:

【讨论】:

  • 谢谢!也感谢您编写软件包 mime-mail[-ses]。我尝试了这三个选项,每次都收到以下消息:[我确信我的凭据是正确的]
  • *** Exception: SESException {seStatus = Status {statusCode = 403, statusMessage = "Forbidden"}, seCode = "SignatureDoesNotMatch", seMessage = "我们计算的请求签名与您的签名不匹配提供。检查您的 AWS 秘密访问密钥和签名方法。有关详细信息,请参阅服务文档。"...}
  • 我不确定是什么问题,但绝对与 TLS 问题无关。可能有很多事情在起作用,甚至是时钟偏差。
  • 感谢@Michael,您的建议肯定解决了最初的 TLS 问题。我可以将最新的不相关问题作为一个单独的问题提出。
  • @MarcoToniut 是的,我做到了。试图追溯我的脚步,但我的记忆现在有点模糊。据我记得,我必须设置 AWS 访问密钥并在我的代码中使用这些凭证。如果您还没有设置 AWS 凭证,这里有一个链接。 (docs.aws.amazon.com/IAM/latest/UserGuide/…)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-01-03
  • 1970-01-01
  • 2013-04-21
  • 2016-10-14
  • 2018-04-12
  • 2018-08-23
相关资源
最近更新 更多