Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3.1 在Rails 3.1.3上使用Sendgrid通过smtp发送电子邮件时,电子邮件中存在非法字符_Ruby On Rails 3.1_Heroku_Sendgrid - Fatal编程技术网

Ruby on rails 3.1 在Rails 3.1.3上使用Sendgrid通过smtp发送电子邮件时,电子邮件中存在非法字符

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

我正在从gmail导入联系人列表,并使用复选框选择返回的电子邮件,并在用户被选中后向其发送邀请。当我查看我的日志时,输出的电子邮件格式正确,一切似乎都很好

当我在Sendgrid上查看我的电子邮件活动时,我看到附加在电子邮件地址上的其他字符,从而使其失败。我没有任何问题发送电子邮件与我的其他邮件使用sendmail,但这一个似乎添加了这些额外的字符,我不知道他们从哪里来

还有其他人看到过这种情况吗?或者对如何解决这个问题有什么建议

预期结果 电邮:test@gmail.com

实际结果 电邮:test@gmail.com@i04-01

用户邮箱

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