使用Ruby从命令行发送电子邮件

Send email from command line with Ruby

我正试图用Sinatra服务器上的Ruby代码从命令行发送一封电子邮件。在命令行上,我成功地使用了:

1
smtpfree_mail.pl -from noreply@website.com -to testemail@gmail.com -subject"test msg" -body"message body"

所以我可以使用:

1
%x(smtpfree_mail.pl -from noreply@website.com -to testemail@gmail.com -subject"test msg" -body"message body")

按照这个答案的建议?我想稍后在电子邮件正文中输入几个变量。


你为什么不用邮件发送宝石,如邮件或小马?您可以通过Sinatra应用程序代码在本机上正确执行。我不建议使用ActionMailer,因为它很大,上面的这些宝石非常小和方便。


您可以使用net::smtp,它更安全,您可以传递变量。请在rubydocs中检查它。

这里可以找到一个工作示例/教程


你能运行Ruby的其他程序吗?是的,你可以。正如你从你所链接的问题中看到的那样。

不知道smptfree_mail.pl持有什么,您可能不可能稍后在电子邮件正文中输入几个变量。假设它正在发送该电子邮件,我认为更改电子邮件正文的内容是有问题的,因为这太晚了,下一个邮件服务器将拥有它,而且它将不在您的控制范围之内。

但是,您可以提前而不是稍后轻松地更改消息正文,因为您的问题中有设置阶段的模板代码。