Tag: gmail

GMail线程,IMAP和Ruby

我正在使用Ruby IMAP库来获得GMail对话。 GMail线程对话的方式是通过“Message-ID”和“In-Reply-To”消息头。 例如: In-Reply-To: Message-ID: 我无法弄清楚如何有效地获取回复消息。 目前的方式: target = imap.search([“NOT”, “DELETED”]).each do |msg_id| uid = imap.fetch(message_id, “ENVELOPE”)[0].attr[“ENVELOPE”].message_id if uid == target m = imap.fetch(msg_id, “RFC822”)[0].attr[“RFC822”] end end 像这样顺序执行它需要很长时间,但我无法找出通过Message-ID标头搜索的正确咒语,而且我无法找到任何关于这是否可能的证据。

在Rails中将外部CSS转换为邮件的内联CSS

我正在尝试创建一个应用程序,它将发送风格繁重的电子邮件,并要求客户工作,除了谷歌的Gmail。 我研究了这个问题,看起来Gmail从外部文件或嵌套在’style’标签中的CSS中删除了CSS。 是否存在将样式从外部文件移动到内联的简单方法? 需要的东西: .wide { width: 100px; } .cell { display: block; } Sample 并将其转换为: Sample 谢谢!

gmail和parse_resource gems之间的Ruby自动加载冲突

早些时候 ,我问过gmail gem中的autoload无法找到它想要加载的文件。 在构建一个最小的脚本时,我发现当我没有包含parse_resource gem时,gmail gem加载了它的文件。 gmail gem允许您从Gmail访问您的电子邮件,标签和收件箱。 parse_resource gem将parse.com api包装在ActiveRecord模式中。 如果我在gmail gem 之前包含parse_resource gem,ruby会抛出一个LoadError。 这些是我写的最小脚本的排列,由错误组织。 LoadError require ‘rubygems’ require ‘parse_resource’ require ‘gmail’ Gmail.new(‘yourEmail@gmail.com’, ‘password’) 工作良好 require ‘rubygems’ #require ‘parse_resource’ require ‘gmail’ Gmail.new(‘yourEmail@gmail.com’, ‘password’) 自动加载错误 require ‘rubygems’ require ‘gmail’ require ‘parse_resource’ Gmail.new(‘yourEmail@gmail.com’, ‘password’) /Library/Ruby/Gems/1.8/gems/gmail-0.4.0/lib/gmail.rb:50:in ‘new’: no such file to load — gmail/client (LoadError) from emailError.rb:6 […]

通过Gmail API创建包含收件人的Gmail草稿

我一直试图弄清楚如何自动将收件人添加到使用Gmail API通过其Ruby库创建的草稿电子邮件中。 我可以创建草案而没有任何问题,但设置收件人会给我带来麻烦,我无法找到任何好的示例,显示添加电子邮件特定事物的最佳方法。 使用Google API游乐场并提取已经创建的草稿,看起来结构应该与下面显示的类似,但是无论何时创建草稿,都没有收件人。 @result = client.execute( :api_method => gmail.users.drafts.create, :parameters => { ‘userId’ => “me” }, :body_object => { ‘message’ => { ‘raw’ => Base64.urlsafe_encode64(‘Test Email Message’), ‘payload’ => { ‘headers’ => [ { ‘name’ => “To”, ‘value’ => “John Smith ” } ] } } } )

为什么autoload无法加载gem文件

我正在尝试使用这个gmail gem阅读ruby中的电子邮件。 当我在IRB或脚本中require ‘gmail’时,我收到此错误: /Library/Ruby/Gems/1.8/gems/gmail-0.4.0/lib/gmail.rb:70:in connect_with_proper_client’: no such file to load — gmail/client (LoadError) from /Library/Ruby/Gems/1.8/gems/gmail-0.4.0/lib/gmail.rb:48:in new 发生这种情况是因为自动加载无法提交“gmail / client”文件。 当我手动添加require ‘gmail/client’ ,问题就会消失,直到下一次自动加载呼叫。 这个解决方案是不可接受的,因为我无法预测要提前添加哪些文件。 我发现了一个类似的问题 ,但它没有解决我的问题。

是否可以使用OmniAuth获取Gmail oauth或xauth令牌?

我想从GMail获取oauth或xauth令牌以与gmail-oauth一起使用。 我正在考虑使用OmniAuth,但它似乎还不支持GMail,这意味着有了OmniAuth库存是不可能的。 那是对的吗? 我错过了什么吗?

在Ruby Net :: IMAP中选择邮箱“已发送邮件”或“所有邮件”

我正在尝试使用Ruby中的Net :: IMAP来搜索我发送的所有邮件,但是我在选择除了INBOX之外的任何东西时遇到了麻烦。 imap.select(‘INBOX’) 工作正常,但是 imap.select(‘Mail/sent-mail’) 如在Net :: IMAP文档中显示给我“未知邮箱”。 顺便说一下,这将与gmail一起使用。 我也尝试在我的imap.search()中添加“in”,“anywhere”,但是没有解析。 当前代码: imap.select(‘INBOX’) now = Time.now.localtime – 1209600 #two weeks since = now.day.to_s() + “-” + Date::MONTHNAMES[now.month] + “-” + now.year.to_s() puts “since” puts since begin mail_ids = imap.search([“FROM”, “me”, “SINCE”, since]) mail_ids.each do |id| text = imap.fetch(id, ‘BODY[HEADER.FIELDS (SUBJECT)]’).to_s.split(“{“).second.chop puts text end end

内联中的Rails附件未在gmail中正确显示

有谁能指出我的问题? 我在rails 3.1应用程序邮件程序中使用内联附件。 该信还包含存储在amazon w3服务器上的图像。 问题是gmail没有正确显示字母。 我在信中有内联附件。 但Gmail会将这些文件显示为附加文件。 这封信还包含一个附加的html页面,其中包含字母本身。 所有gmail显示都是一组符号,我想这是一个附加图像的base64版本。 查看截图。 由于缺乏必要的评级,我无法发布图片,所以我在这里发布。 这是我的邮件中的代码: attachments.inline[‘blank’] = File.read(“#{Rails.root.to_s + ‘/app/assets/images/blank_500x500.png’}”) attachments.inline[‘discount-deal-triangle’] = File.read(“#{Rails.root.to_s + ‘/app/assets/images/discount-deal-triangle.png’}”) mail(:to => @subscriber.email, :subject => subject) 以下是视图文件中的代码: -if @image_url = image_tag( attachments[‘offer_image’].url, :id => ‘offer_image’, :width => “320”, :height => “320”) -elsif @offer.image.nil? = image_tag( attachments[‘blank’].url, :id => ‘offer_image’, :width => “320”, […]

尝试在RoR应用程序中发送电子邮件时遇到SMTP错误

我一直在拼命尝试使用RoR中的Action Mailer类发送电子邮件,即使终端显示正在发送消息,它仍然会返回此错误: et::SMTPAuthenticationError: 534-5.7.14 <https://accounts.google.com/ContinueSignIn?sarp=1&scc=1&plt=AKgnsbtOS from /Users/abhasarya/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/net/smtp.rb:968:in `check_auth_response' from /Users/abhasarya/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/net/smtp.rb:739:in `auth_plain' from /Users/abhasarya/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/net/smtp.rb:731:in `authenticate'… 这是我的邮件程序类在app / mailers / my_mailer.rb中的样子: class MyMailer < ActionMailer::Base default from: "from@example.com" def welcome_email(user) @user = user mail(to: user.email, from: 'example_email@gmail.com', subject: 'Welcome!') end end 这是我的config / application.rb文件的样子: config.action_mailer.delivery_method = :smtp config.action_mailer.smtp_settings = { address: ‘smtp.gmail.com’, port: 587, #domain: ‘gmail.com’, user_name: […]

通过Google Gmail API创建草稿

我正在尝试为登录用户创建草稿消息,但在运行以下内容时不断收到错误Missing draft message require ‘google/api_client’ client = Google::APIClient.new client.authorization.client_id = ENV[‘GOOGLE_CLIENT_ID’] client.authorization.client_secret = ENV[‘GOOGLE_CLIENT_SECRET’] client.authorization.grant_type = ‘refresh_token’ client.authorization.refresh_token = User.last.refresh_token token = client.authorization.fetch_access_token! gmail = client.discovered_api(‘gmail’, ‘v1’) params = { ‘userId’ => ‘me’, ‘draft’ => { ‘message’ => {‘raw’ => ‘test email’ } } } # { ‘userId’ => ‘me’, ‘message’ => {‘raw’ => ‘test […]