在没有电子邮件的情况下在Ruby上使用电子邮件

时间:2011-07-25 16:16:27

标签: ruby email sendmail email-integration

我想发送电子邮件,而无需设置外部电子邮件帐户,也无需设置我自己的服务器。理想情况下,我不需要做任何事情,只需在ruby命令中输入代码。

有没有办法做到这一点?

我无法找到在ruby上使用电子邮件的明确分步指南,有人能指出我正确的方向吗?请假设我什么都不知道。谢谢。我没有在铁轨上使用红宝石。 : - )

我尝试过小马,但似乎我需要一封电子邮件来发送来自...的消息?我想直接从ruby发送消息。

1 个答案:

答案 0 :(得分:3)

这取决于。以下是一些技巧:

  • 返回地址无需有效,您可以提出一个。但是,您不希望返回地址至少是您控制下的真实地址吗?
  • 原始的,正式的IETF方式是在DNS中查找目的地的MX或A记录,然后通过端口25上的TCP流将SMTP邮件发送到该主机。有宝石可以做此。
  • 在服务器上,上面的工作,但是再一次,服务器应该运行自己的邮件中继与队列和重试等等,所以上述技术的改进是跳过DNS并将消息发布到localhost :25
  • 但是,如果它是一个服务器,你不需要来说SMTP,那么它只需要5或10行代码来popen()一个CLI邮件代理,它们是:sendmail,mailx,或邮件。您现在可以使用puts()撰写邮件。
  • 如果它不是服务器(家庭电缆或DSL)或其虚拟服务器(EC2),则可能存在对直接邮件传输的某种限制。如果您在云端的某个位置使用您选择的端口号操作自己的继电器,则可以绕过这些限制。
  • 如果您发送的邮件多于黑名单或云提供商批准的邮件,那么纯粹的技术解决方案可能还不够。 的解决方案是使用第三方邮件传递服务。他们的工作之一是对黑名单实体进行社会工程设计并保持业务。