Ruby Mail gem, как создавать сценарии почтовых сообщений - PullRequest
3 голосов
/ 30 ноября 2010

У меня testmail.rb на виртуальной машине CENTOS 5 с разрешением SELinux и отключенными IP-таблицами:

require 'rubygems'
require 'mail'

options = { :address              => "mail.domain.com",
            :port                 => 466,
            :domain               => 'otherdomain.com',
            :user_name            => 'somedude@domain.com',
            :password             => 'topsecret',
            :authentication       => 'plain',
            :enable_starttls_auto => true  }
 Mail.defaults do
  delivery_method :smtp, options
end

 mail = Mail.new do
      from 'somedude@otherdomain.com'
        to 'admin@domain.com'
   subject 'This is a test email'
      body File.read('body.txt')
 end

puts mail.to_s

Результат при запуске сценария:!»это содержимое body.txt.

Ни одно электронное письмо не дошло до отправленного на аккаунт.Настройки smtp мы получили от отправленного администратору домена.Я использовал telnet для успешной отправки электронной почты в домен на незашифрованном порту (25), но не получил ответа от зашифрованного порта (466), возможно, из-за того, что мой сеанс telnet был незашифрованным?посмотреть, что происходит во время выполнения сценария для устранения неполадок?

Обновление: пробное перенаправление:> log.log 2> & 1, но это не предоставило никакой дополнительной информации.

1 Ответ

7 голосов
/ 30 ноября 2010

Вам не хватает строки для фактической отправки.Попробуйте добавить

mail.deliver!

в конец вашего скрипта.

...