0

拡張smtp(esmtp)で認証する必要のあるSMTPサーバーがあり、RailsアプリをHELOではなくEHLOで認証する方法が見つかりません。

何か案は ?

4

1 に答える 1

1

Railsがまだこれを行っていないことを確認しますか?ソースを掘り下げると、Railsはに委任するMailgemに委任しNet::SMTPます。lib / net / smtp.rbのRubyソースを見ると、ある時点で、変数do_heloをチェックするプライベートメソッドを呼び出し、 @esmtptrueの場合はheloの代わりにehloを実行することがわかります。初期化を振り返ると、@esmtpデフォルトでtrueに設定されています。設定が解除されているところはどこにも見当たりません。

多分それは何か他のものですか?

do_heloの参照用Net::SMTP

def do_helo(helodomain)
   begin
     if @esmtp
       ehlo helodomain
     else
       helo helodomain
     end
   rescue Net::ProtocolError
     if @esmtp
       @esmtp = false
       @error_occured = false
       retry
     end
     raise
   end
end
于 2012-11-13T18:01:45.760 に答える