0
所以我设法创造了一些有趣的行为,我不知道如何调试。我有一个由模型和表格支持的邮件程序。当用户创建消息时,方法会生成一组联系人来发送电子邮件。由于已经在控制台中进行了测试,因此我们会继续。如何使邮件不会重复自己
模型只是通过收件人的数组itterates ...
class ContactMessage < ActiveRecord::Base
...
def send_message(user)
self.recipients.each do |rec|
unless rec.include?("@")
contact = Contact.find(rec)
to = "\"#{contact.first_name} #{contact.last_name}\" <#{contact.email}>"
else
to = rec
contact = user.contact.new('email' => rec)
end
ContactMail.direct_mail(user, self, to, contact).deliver
end
end
end
应该然后做出新的呼叫到ContactMail.direct_mail方法N多。
class ContactMail < ActionMailer::Base
helper :mail
def direct_mail(user, contact_message, to, contact)
@user = user
@contact = contact
@contact_message = contact_message
@theme = @contact_message.theme
mail(:to => to, :subject => contact_message.subject, :from => "no-reply" << @user.website.domain, :reply_to => @user.email)
end
...
end
mail()方法使用提供的@instance变量呈现视图。
<%= @user.website.title %>
<%= @user.website.motto %>
============================================================
<%= @contact_message.message.html_safe.gsub(/<\/?[^><]*>/i, "") %>
============================================================
This message is from <%= @user.first_name << " " << @user.last_name << " of " << @user.business%>
Please reply to <%= @user.email %>
<%= @user.telephone %>
<%= @user.address_l1%>
<%= @user.address_l2 unless @user.address_l2.blank?%>
<%= @user.city << ", " << @user.state << " " << @user.zip %>
<%= @user.website.domain %>
一切都很好,我使用MailCatcher接收所有的电子邮件和终端说,他们发送。
但是,在第一个发送后的每个邮件都会一直堆放在彼此之间!它produceses像
Healthy Living
Where massage makes health.
============================================================
asdfasdfasdfasd
============================================================
This message is from Adam Fluke of Healthy Living LLC Fluke of Healthy Living LLC Fluke of Healthy Living LLC Fluke of Healthy Living LLC Fluke of Healthy Living LLC Fluke of Healthy Living LLC Fluke of Healthy Living LLC Fluke of Healthy Living LLC Fluke of Healthy Living LLC Fluke of Healthy Living LLC
Please reply to [email protected]
504-638-2222
1822 Moss St
Apt E
New Orleans, AL 70119, AL 70119, AL 70119, AL 70119, AL 70119, AL 70119, AL 70119, AL 70119, AL 70119, AL 70119, AL 70119, AL 70119, AL 70119, AL 70119, AL 70119, AL 70119, AL 70119, AL 70119, AL 70119, AL 70119
healthyliving.org
(这将是第五消息发送,它发送的每一封电子邮件逐步恶化得到。)
这是我不明白的,根据我的邮件和理解方法调用,每个发送的消息应该是他们自己独特的对象,不应该与其他人互动。然而,显然是。这发生在+ =和< <,在文本和HTML。 WTF?
任何想法或帮助赞赏。
事情变得丑陋,所以我删除了git分支并重新开始。作为重写的一部分,我用+代替。 – AdamCooper86 2012-07-30 15:17:52