2010-11-30 4 views
3

Je testmail.rb sur CentOS 5 VM avec SELinux permissive et iptables off:pierres précieuses Ruby, courrier Comment scripts messages

require 'rubygems' 
require 'mail' 

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

mail = Mail.new do 
     from '[email protected]' 
     to '[email protected]' 
    subject 'This is a test email' 
     body File.read('body.txt') 
end 

puts mail.to_s 

Le résultat lorsque le script est exécuté est la suivante:

Date: Tue, 30 Nov 2010 12:12:58 -0500 
From: [email protected] 
To: [email protected] 
Message-ID: <[email protected]> 
Subject: This is a test email 
Mime-Version: 1.0 
Content-Type: text/plain; 
charset=UTF-8 
Content-Transfer-Encoding: 7bit 

test! 

"test!" est le contenu de body.txt.

Aucun e-mail n'atteint jamais le compte envoyé. Les paramètres smtp que nous avons reçus sont envoyés à l'administrateur du domaine. J'ai utilisé telnet pour envoyer avec succès un email au domaine sur le port non crypté (25) mais n'ai pas reçu de réponse du port crypté (466), peut-être parce que ma session Telnet n'était pas cryptée?

Comment puis-je voir ce qui se passe pendant l'exécution du script pour résoudre les problèmes?

Mise à jour: Essayé de rediriger:> log.log 2> & 1, mais cela n'a pas fourni d'informations supplémentaires.

Répondre

7

Il vous manque la ligne à envoyer. Essayez d'ajouter

mail.deliver! 

à la fin de votre script.

+0

gratitudinus maximus! –

Questions connexes