hmi*_*ind 2 email actionmailer ruby-on-rails-3.2
我正在Rails中实现一种动态邮件列表系统.我希望基本上发送一封电子邮件,并让收件人以这种形式收到它:
From: person@whosentthis.com
To: mailing-list@mysite.com
<body>
Run Code Online (Sandbox Code Playgroud)
基本上,挑战是如何在定义不同的To:标题时向地址发送电子邮件,以便他们可以轻松回复邮件列表或只是原始发件人?
在电子邮件中,如实体邮件(纸质信封中的纸张),信封上的收件人可能与信件表本身的收件人不同.
由于邮递员只会考虑信封的收件人,邮件服务器也是如此.
这意味着,实际上可以告诉smtp服务发送并通过电子邮件发送给不同于To:电子邮件标题字段中列出的收件人的收件人.
您可以手动尝试此操作,例如,使用sendmailpostfix命令.
# bash
sendmail really_send_to_this_address@example.com < mail.txt
Run Code Online (Sandbox Code Playgroud)
哪里
# mail.txt
From: foo@example.com
To: this_will_be_seen_in_the_to_field_in_email_clients@example.com
Subject: Testmail
This is a test mail.
Run Code Online (Sandbox Code Playgroud)
这将发送电子邮件really_send_to_this_address@example.com,而不是this_will_be_seen_in_the_to_field_in_email_clients@example.com,但后者将显示在邮件客户端的收件人字段中.
在ActionMailer::Base内部使用的邮件宝石.目前,2013年4月,有一个拉取请求,允许envelope_to在发送前指定消息上的字段.
在拉出之前,您可以在中指定fork Gemfile.
# Gemfile
# ...
gem 'mail', git: 'git://github.com/jeremy/mail.git'
Run Code Online (Sandbox Code Playgroud)
您需要在此bundle update mail之后运行,并且,根据您当前的rails版本,也可能bundle update rails是为了解决某些依赖性问题.
之后,您可以设置邮件消息的信封收件人,如下所示:
# rails
message # => <Mail::Message ...>
message.to = [ "this_will_be_seen_in_the_to_field_in_email_clients@example.com" ]
message.smtp_envelope_to = [ "really_send_to_this_address@example.com" ]
message.from = ...
message.subject = ...
message.body = ...
message.deliver
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1099 次 |
| 最近记录: |