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

时间:2014-11-26 00:10:21

标签: ruby command-line sinatra command-line-arguments

我正在尝试在Sinatra服务器上使用Ruby代码从命令行发送电子邮件。在命令行上,我已成功使用:

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

我也可以使用:

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

根据this answer的建议?我想稍后在电子邮件正文中输入几个变量。

3 个答案:

答案 0 :(得分:2)

为什么不使用邮件发送mailpony等宝石? 您可以直接从Sinatra应用程序代码中进行本地操作。 我没有建议ActionMailer,因为它很大,上面的这些宝石非常小而且很方便。

答案 1 :(得分:1)

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

不知道smptfree_mail.pl拥有什么,以后可能无法将多个变量输入到电子邮件正文中。假设它正在发送该电子邮件,我认为更改电子邮件正文的内容将是有问题的,因为它为时已晚,下一个邮件服务器将拥有它并且它将不在您的手中

但是,您可以更早,而不是更晚,更轻松地更改邮件的正文,因为您在问题中设置了设置阶段的模板代码。

答案 2 :(得分:1)

你可以使用Net :: SMTP更安全,你可以传递变量,请在rubydocs中查看this

可以找到工作示例/教程here