3

SELinuxパーミッシブでIPtablesがオフになっているCENTOS5VMにtestmail.rbがあります。

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

スクリプトを実行したときの結果は次のとおりです。

Date: Tue, 30 Nov 2010 12:12:58 -0500
From: somedude@otherdomain.com
To: admin@domain.com
Message-ID: <4cf5309a2f074_284015c5c4de91b8270b2@apvdbs03.3rdomain.local.mail>
Subject: This is a test email
Mime-Version: 1.0
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit

test!

"テスト!" body.txtのコンテンツです。

送信先アカウントにメールが届くことはありません。ドメイン管理者に送信されたものから取得したSMTP設定。telnetを使用して、暗号化されていないポート(25)でドメインに電子メールを正常に送信しましたが、暗号化されたポート(466)から応答がありませんでした。おそらく、telnetセッションが暗号化されていなかったためですか。

トラブルシューティングのためにスクリプトの実行中に何が起こっているかを確認する方法は何ですか?

更新:リダイレクトを試みました:> log.log 2>&1、しかしそれは追加情報を提供しませんでした。

4

1 に答える 1

7

実際に送信する行がありません。追加してみてください

mail.deliver!

スクリプトの最後まで。

于 2010-11-30T17:02:48.580 に答える