【问题标题】:Send email without external SMTP service在没有外部 SMTP 服务的情况下发送电子邮件
【发布时间】:2014-08-11 19:30:08
【问题描述】:

好的,这里很困惑。我可以使用这个服务http://www.mailgun.com/ 和他们的 gem 从我的 rails 应用程序发送电子邮件。

我收到的对 Can webmail work without an SMTP server? 的回复让我相信您可以使用 PHP/Ruby 发送电子邮件,而无需外部服务。

  1. 我可以直接从我的应用程序发送电子邮件吗?也许在工人身上?
  2. 如果是这样,为什么人们会使用邮件黑猩猩和邮件枪等服务?
  3. 如何在我的 Rails 应用程序中执行此操作?调整我的 ActionMailer 配置很简单吗?

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

    您可以直接发送电子邮件,例如在 PHP 中使用mail() 函数。问题是您的电子邮件可能会被其他网络服务器视为垃圾邮件(以及为什么非常复杂的解释)

    【讨论】:

    • 我可以建立我的服务器的声誉并阻止它被视为垃圾邮件吗?
    • Sendmail 是一个“SMTP 服务器”。
    • 是的,通过使用 SMTP(因此电子邮件标头显示发件人在服务器上经过身份验证的内容)以及采用 SPF、DKIM 和其他技术。 Mailgun 和其他人为您提供的是这种声誉,并继续努力保持它。
    • @FredtheMagicWonderDog 你是对的,已修复。我认为 sendmail 也可以用作 MTA 并发送未经身份验证的电子邮件,这实际上意味着相同(但我不是这些问题的专家,而是久经考验)
    【解决方案2】:

    发送邮件可以这么简单

    telnet remote.host.com 25
    

    但是,运行信誉良好的 SMTP 服务器并非易事。如果处理不当,您可能只是托管垃圾邮件中继并最终进入每个人的黑名单。

    人们为 mailchimp 等服务付费的原因是他们希望避免所需的工作,并有合理的机会让收件人实际阅读他们的电子邮件。许多网站会简单地拒绝来自地址/机器的任何邮件 似乎没有有效的返回路径。

    【讨论】:

      【解决方案3】:

      您可以在本地主机或网络中的另一台机器上托管自己的邮件服务器。有开源邮件服务器。这些通常称为邮件传输代理 (MTA)。一些例子是 Sendmail 和 Postfix。还有其他取决于您的需要和操作系统。

      直接回答您的问题:

      1. 是的,如果性能是一个问题,工人将是一个很好的地方。
      2. 为了方便、专业、可靠的交付和声誉。运行您自己的安全邮件服务器并非易事。它成为另一台用于配置、监控和保持安全的服务器。现在互联网上有所有垃圾邮件,将您的服务器排除在黑名单之外非常重要,并且根据您发送的电子邮件的数量和重要性,将其留给专家可能更有意义。 Mailgun、sendgrid、Amazon SES 等。
      3. 是的,这只是配置问题。您可以将 ActionMailer 配置为使用 localhost、您自己的托管电子邮件服务器或任何第三方电子邮件服务提供商。

      【讨论】:

        猜你喜欢
        • 2014-01-13
        • 2011-06-06
        • 2015-12-12
        • 1970-01-01
        • 2013-07-22
        • 2023-03-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多