【问题标题】:Pony yandex.ru and mail.ru specificsPony yandex.ru 和 mail.ru 细节
【发布时间】:2014-08-07 17:34:00
【问题描述】:

我正在 Sinatra 中创建一个表单,该表单将在使用 Pony gem 提交时将数据发送到电子邮件。到目前为止,这是我的代码:

post '/pemco' do 

Pony.mail(
  :from => params[:name] + "<" + params[:email] + ">",
  :to => '___@yandex.ru',
  :subject => params[:name] + " has contacted you",
  :body => params[:message],

  :via => :smtp,
  :via_options => { 
    :address              => 'smtp.yandex.ru', 
    :port                 => '465', 
    :enable_starttls_auto => true, 
    :user_name            => '___', 
    :password             => '___', 
    :authentication       => :plain
  })
redirect '/' 
end

我按 submit,响应等待一段时间,然后我得到 Net::ReadTimeout 文件:protocol.rb 位置:rbuf_fill 行中的救援:158 错误。我做错了什么?

【问题讨论】:

  • 在与smtp.yandex.ru 通信的过程中一定存在代理问题...您是否有权访问此 SMTP 机器以检查那里的日志?
  • @CDub,它终于与另一个邮件代理一起工作了,我认为 yandex 存在一些具体问题。您能告诉我您所说的 SMTP 机器 是什么意思,以便我知道如何解决这个问题吗?感谢您的帮助。
  • 我不熟悉 Yandex 是什么......它是一种服务吗?如果是这样,我想看看他们的文档,看看 Pony 是否设置正确/需要调整。我会做一些谷歌搜索,但如果你有直接的文档,那可能会有所帮助。
  • @CDub,这些是俄罗斯搜索引擎,我只是通过将 to:from: 字段设置为相同来让它们都工作地址并将其中一个 (yandex) 中的端口更改为 25,即使在文档 (help.yandex.ru/mail/mail-clients.xml) 中它说它需要端口 465!

标签: ruby sinatra pony


【解决方案1】:

此代码适用于 yandex.ru(您需要前往https://mail.yandex.ru/neo2/#setup/client 并允许一切操作):

post '/sent' do
  Pony.mail(
    :to => "_yourEmail_@yandex.ru",
    :from => "_sameYourEmail_@yandex.ru",

    :via => :smtp,
    :via_options => { 
      :address              => 'smtp.yandex.ru', 
      :port                 => '25', 
      :enable_starttls_auto => true, 
      :user_name            => '_yourUsername_', 
      :password             => '_yourPassword_', 
      :authentication       => :plain
    })
end

同样的代码适用于 ma​​il.ru(通常你不需要做任何其他事情)。

【讨论】:

  • 也为 mail.yandex.com 工作过
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-17
相关资源
最近更新 更多