Ruby on rails ActionMailer获取已发送邮件的messageid
我正在编写一个rails应用程序,当某些操作发生时发送电子邮件,用户可以回复这些电子邮件,系统需要将回复电子邮件与发送给用户的原始电子邮件相匹配 似乎最好的方法是在发送邮件时保存邮件id头字段,这在ActionMailer中是否可行?然后,我可以从回复中检索引用标头并匹配消息Ruby on rails ActionMailer获取已发送邮件的messageid,ruby-on-rails,email,actionmailer,Ruby On Rails,Email,Actionmailer,我正在编写一个rails应用程序,当某些操作发生时发送电子邮件,用户可以回复这些电子邮件,系统需要将回复电子邮件与发送给用户的原始电子邮件相匹配 似乎最好的方法是在发送邮件时保存邮件id头字段,这在ActionMailer中是否可行?然后,我可以从回复中检索引用标头并匹配消息 如果不可能,是否有其他解决方案?我不确定是否可以在actionmailer中访问邮件id,但是可以添加您自己的自定义标题,然后在用户答复时引用这些标题 您可以在mailer模型中执行以下操作:- @headers["Vet
如果不可能,是否有其他解决方案?我不确定是否可以在actionmailer中访问邮件id,但是可以添加您自己的自定义标题,然后在用户答复时引用这些标题 您可以在mailer模型中执行以下操作:-
@headers["VetId"] = order.vet_id
另一种选择是在电子邮件的“回复”字段中添加跟踪代码 大概是这样的: 回复:notification+${notification\u id}@yourdomain.com
例如,如果通知id为123,则用户将回复通知+123@yourdomain.com,当系统收到电子邮件时,123可用于识别原始邮件。查看 对于Rails 3,这是可能的: message=Mailer.welcome(@user.deliver
message.message_id#=>4ccc56d19
您可以在mailer类中这样设置消息ID头
class mailer < ActionMailer::Base
default "Message-ID" => lambda {"#{SecureRandom.uuid}@domain.com"}
....
end
class-mailerlambda{{SecureRandom.uuid}@domain.com}
....
结束
对不起,Greg,我想说的是,您可以在ActionMailer子类中访问TMail::Mail对象的消息id。例如,您可以使用“mail=UserMailer.create_notification_mail”(如果UserMailer是ActionMailer的子类)创建一封新邮件,然后使用mail.message_id访问邮件id。但另一方面,我更喜欢使用上面描述的“ez”方式向您的回复地址添加令牌。希望这能多帮点忙。