【问题标题】:Mail's attachment encryption via mail-gpg gem通过 mail-gpg gem 的邮件附件加密
【发布时间】:2016-01-21 16:47:10
【问题描述】:

我必须加密我的电子邮件附件。我通过 Mandrill Client(mandrillapp.com) 发送电子邮件。 我用来加密附件的 Gem 是 mail gpg (https://github.com/jkraemer/mail-gpg) 控制台日志中没有错误。并且电子邮件正在发送给我,但电子邮件/附件未加密。 你知道我的应用有什么问题吗? 我的代码:

def self.mailing(atr1, atr2)
  key = '-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.4.12 (GNU/Linux)
mQGiBEk39msRBADw1ExmrLD1OUMdfvA7cnVVYTC7CyqfNvHUVuuBDhV7azs ....
-----END PGP PUBLIC KEY BLOCK----- ' 

  mandrill = Mandrill::API.new 'YYYYYYYYYYYYYYYYYYYYYYYYYYY'

  time = Time.now.strftime("%Y%m%d")
  message = {
                from_email: 'test@test.pl',
                subject: "WWWWWWWWWWWWWW",
                to: [{
                  email: App.settings.webservices[atr1]['email'],
                  type: "to"
                  },
                  {
                  email: App.settings.webservices[atr1]['email_bcc'],
                  type: "bcc"
                  }
                  ],
                attachments: [{
                    content: Base64.encode64(build_csv(atr2)),
                    name: "my_name" ,
                    type: 'text/csv',
                    gpg: { encrypt: true }# , keys: { App.settings.webservices['ggggg']['email'] => key} }
                  }],
                  # gpg: { encrypt: true, keys: { App.settings.webservices['ggggg']['email_bcc']} }
                }
  result = mandrill.messages.send message
  result.first.with_indifferent_access   
end

感谢您的帮助

【问题讨论】:

  • 您只想加密附件而不是整个邮件?
  • 哪个宝石确切地? Mandrill 说要使用 Mailchimp 宝石。
  • 我使用的 gem 叫做 'mandrill-api'。我也尝试加密整个电子邮件,但结果是一样的。 mail-gpg 加密无效

标签: ruby-on-rails ruby encryption sinatra mandrill


【解决方案1】:

Mail-gpg 扩展了 Mail gem,因此它可以发送 Pgp/Mime 加密消息。

不支持仅加密附件。加密整个邮件as documented 或手动加密附件(即使用 gpgme gem),然后将其附加到您的电子邮件。

因此,如果有的话,请将哈希的消息(顶部)级别的 gpg 选项传递给 Mandrill gem(前提是它以某种方式做了正确的事情,我不知道)。如果失败,请自己构建您的 Mail::Message 并通过 Mandrill 的 SMTP 服务器发送。你不需要他们的宝石。

【讨论】:

  • 正如您在附件中看到的那样,我尝试加密整个邮件,但它不起作用,我很惊讶,因为我已经完成了文档中的所有内容,但我进入 gmail 的邮件没有加密。正如你所说,我尝试通过 gpgme 对其进行加密。
  • 我在您的代码中没有看到您如何尝试执行记录的操作 - 您只需构建一个 Hash 并将其交给 mandrill 库。我猜这个库根本不知道关于 mail-gpg 的任何事情,只是忽略了你的 gpg 哈希键,无论你把它们放在哪里。正如我之前所写,解决这个问题的简单方法是使用 Mail gem API 并通过 SMTP 发送电子邮件。
  • 如你所说,我将使用 gpgme gem 从外部对其进行加密。我认为 mail-gem 可以与 mandrill 一起使用,因为据我所知 mandrill 使用 ActionMailer。谢谢你的帮助!!
猜你喜欢
  • 2012-10-05
  • 1970-01-01
  • 2021-02-04
  • 1970-01-01
  • 1970-01-01
  • 2015-06-18
  • 2017-09-29
  • 2016-08-29
  • 1970-01-01
相关资源
最近更新 更多