Ruby on rails 3.1 在Rails 3.1.3上使用Sendgrid通过smtp发送电子邮件时,电子邮件中存在非法字符
我正在从gmail导入联系人列表,并使用复选框选择返回的电子邮件,并在用户被选中后向其发送邀请。当我查看我的日志时,输出的电子邮件格式正确,一切似乎都很好 当我在Sendgrid上查看我的电子邮件活动时,我看到附加在电子邮件地址上的其他字符,从而使其失败。我没有任何问题发送电子邮件与我的其他邮件使用sendmail,但这一个似乎添加了这些额外的字符,我不知道他们从哪里来 还有其他人看到过这种情况吗?或者对如何解决这个问题有什么建议 预期结果 电邮:test@gmail.com 实际结果 电邮:test@gmail.com@i04-01 用户邮箱Ruby on rails 3.1 在Rails 3.1.3上使用Sendgrid通过smtp发送电子邮件时,电子邮件中存在非法字符,ruby-on-rails-3.1,heroku,sendgrid,Ruby On Rails 3.1,Heroku,Sendgrid,我正在从gmail导入联系人列表,并使用复选框选择返回的电子邮件,并在用户被选中后向其发送邀请。当我查看我的日志时,输出的电子邮件格式正确,一切似乎都很好 当我在Sendgrid上查看我的电子邮件活动时,我看到附加在电子邮件地址上的其他字符,从而使其失败。我没有任何问题发送电子邮件与我的其他邮件使用sendmail,但这一个似乎添加了这些额外的字符,我不知道他们从哪里来 还有其他人看到过这种情况吗?或者对如何解决这个问题有什么建议 预期结果 电邮:test@gmail.com 实际结果 电邮:t
def invitation(email_addresses)
@host = ((Rails.env == "production") ? "http://www.test.com" : "http://localhost:3000")
attachments.inline['people.jpg'] = File.read("#{Rails.root}/app/assets/images/people.jpg")
#attachments.inline['people.jpg'] = File.read("#{Rails.root}/app/assets/images/Girl.jpeg")
email_addresses.each do |email|
mail(:to => email, :subject => "Hello from test!")
end
结束
用户控制器
def import
#@user = User.find(params[:id])
#@users = User.find(session[:user_id])
begin
@sites = {"gmail" => Contacts::Gmail, "yahoo" => Contacts::Yahoo, "hotmail" => Contacts::Hotmail}
@contacts = @sites[params[:from]].new(params[:login], params[:password]).contacts
@users, @no_users = [], []
@contacts.each do |contact|
#if u = User.find(:first , :conditions => @users.email = �#{contact[1]}� , :include =>[:user])
if u = User.find(:first, :conditions => "email = '#{contact[1]}'")
@users << u
else
@no_users << {:name => contact[0], :email => contact[1]}
end
end
#if @contacts.save
#end
respond_to do |format|
format.html { render :template => 'shared/_contact_list', :layout => false }
format.xml { render :xml => @contacts.to_xml }
end
end
结束
结束
谢谢你能发布一些代码吗?如果没有itHello Mike,很难进行调试。我添加了进行解析的代码。最让人困惑的是,代码与配置的gmail smtp一起工作,但当我使用sendgrid时,它会添加额外的字符。此外,如果我不使用通知程序之类的表单,sendgrid也会发送电子邮件。当我查看日志时,其他字符可能不存在。
def send_bulk_mail
name_email =[]
email_addresses=[]
names=[]
post=params[:post]
post.each do |k,v|
if v=="1"
name_email << k
end
end
name_email.each do |n|
email_addresses << n.split(",")[1]
end
UserMailer.invitation(email_addresses).deliver