Почему это письмо отправляется на мою учетную запись Gmail, а не на мою школьную учетную запись? - PullRequest
1 голос
/ 03 мая 2011

Я создал специальную задачу rake для отправки электронных писем своим пользователям, но я хочу сначала проверить электронную почту перед ее отправкой.

У меня есть этот файл граблей:

namespace :send_out do
  task :generate_url => :environment do
    SignedUser.all.each do |user|
      #user.build_invitation
      #user.generate_url
    end
  end

  task :email => :environment do
    #SignedUser.all.each do |user|
      UserMailer.email.deliver
    #end
  end

  task :all => [:generate_url, :email]
end

Запуск rake send_out:all запускает действие электронной почты:

def email
  #@signed_user = user
  mail(:to => "meltzerj@wharton.upenn.edu", :subject => "DreamStill is Back")
  #mail(:to => user.email, :subject => "DreamStill is Back")
end

И у меня есть email.html.erb файл для письма.

Когда я запускаю heroku rake send_out:all --trace, я получаю это в своих журналах:

** Invoke send_out:all (first_time)
** Invoke send_out:generate_url (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute send_out:generate_url
** Invoke send_out:email (first_time)
** Invoke environment 
** Execute send_out:email
Rendered user_mailer/email.html.erb (0.5ms)
** Execute send_out:all

кажется, что все вызывается, но я не получаю письмо по адресу meltzerj@wharton.upenn.edu. Однако, если я вместо этого отправлю электронное письмо на свою учетную запись gmail, я получу его. Почему это?

Ответы [ 3 ]

1 голос
/ 03 мая 2011

Я только что попробовал использовать telnet для подключения к серверу mx, указанному для wharton.upenn.edu (basalt.wharton.upenn.edu), и он ударил меня 5.7.1. Доступ запрещен сразу после «mail from:», который яобычно это спам-фильтр.

Это означает, что сервер делает что-то вроде проверки домена helo на ip-соединение или обратную проверку DNS, spf и т. д ...

Я немного запутался в герою, но я предполагаю, что это посылается с вашей локальной машины.Если это так, то это, вероятно, проблема, так как вы, вероятно, отправляете с динамического ip (например, comcast), а также ваш ip не преобразуется в доменное имя в helo.

Я бы попробовал это на сервере herokuи у вас, вероятно, не будет этой проблемы.

0 голосов
/ 03 мая 2011

Я подозреваю, что либо ваша школьная учетная запись помечает его как спам, либо отказывается от доставки. Попробуйте настроить файл журнала для своего локального MTA и посмотрите, что там написано.

Если ваш сервер использует postfix, попробуйте tail -f /var/log/maillog | grep upenn.edu

0 голосов
/ 03 мая 2011

Я не уверен, в какой среде вы запускаете задачу rake, но вы можете проверить свои config/environments/*.rb файлы на предмет настроек, которые могут не дать вашей электронной почте выдать ошибку вроде:

config.action_mailer.raise_delivery_errors = false
...