【问题标题】:Ruby Email Send Undisclosed RecipientsRuby 电子邮件发送未公开的收件人
【发布时间】:2012-02-28 16:11:12
【问题描述】:

我正在使用 Ruby 通过 Google 应用程序发送电子邮件。正在发送和接收电子邮件。问题是该电子邮件在我的 Gmail 收件箱中显示为发送给未公开的收件人,并且没有主题。

require 'rubygems'
require "tlsmail"

message = <<MESSAGE_END
From: From Address <from.address@googleappsdomain.com>
To: My Address <my.address@mydomain.com>
Subject: The Subject
Date: #{Time.now.rfc2822}

This is the email body.

MESSAGE_END

Net::SMTP.enable_tls(OpenSSL::SSL::VERIFY_NONE)  
Net::SMTP.start('smtp.gmail.com', 587, 'smtp.gmail.com', 'from.address@googleappsdomain.com', 'password', :login) do |smtp|  
smtp.send_message(message, 'from.address@googleappsdomain.com', 'my.address@mydomain.com')  
end

正如我所指出的,电子邮件已收到。标题看起来像:

发件人:发件人地址 收件人:我的地址 主题:主题日期:​​2012 年 2 月 28 日星期二 09:54:22 -0500 from.address@googleappsdomain.com 发件人时间:上午 9:54 (GMT-08:00) 发送。那里的当前时间:上午 7:45。 ✆ 至: 日期:2012 年 2 月 28 日星期二上午 9:54

主题不见了。

这不是什么大不了的事,但如果可能的话,我希望它像典型的电子邮件一样收到。

【问题讨论】:

    标签: ruby email


    【解决方案1】:

    我不知道您是否坚定地使用tlsmail,但我在使用 Pony 和 Google Apps 方面取得了成功。这是我的一个修改示例:

    require 'pony'
    
    email_data = {
      :from             =>  'Mailer <mailer@mydomain.com>',
      :to               =>  'admin@mydomain.com',
      :subject          =>  'Some subject',
      :body             =>  'A plain text body',
      :html_body        =>  haml :email, # render html email using haml
      :port             =>  '587',
      :via              =>  :smtp,
      :via_options      =>  { 
        :address                  =>  'smtp.gmail.com', 
        :port                     =>  '587', 
        :enable_starttls_auto     =>  true, 
        :user_name                =>  'mailer@mydomain.com', 
        :password                 =>  'mailer_password', 
        :authentication           =>  :plain, 
        :domain                   =>  'mydomain.com' 
      }
    }
    Pony.mail(email_data)
    

    我将它封装在一个助手中(我正在使用 Sinatra)并传入特定参数,将这些参数与默认选项合并(如图所示)。如果你也想看,我会更新。

    【讨论】:

    • @Peter 只是让您知道,如果您想要回复某种用户生成的电子邮件(例如,您收到的联系表格,回复用户),您将需要使用与您将要回复的电子邮件不同的电子邮件发送这些电子邮件。这是 Google Apps 的一个限制,但试图弄清楚它可能会令人沮丧。
    猜你喜欢
    • 2012-05-25
    • 2011-02-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-19
    • 2012-05-18
    • 2019-06-16
    相关资源
    最近更新 更多