ヘルプメニューを作って、ドキュメントへのリンク、Webサイトへのリンク、更新の確認、バージョン情報を追加しました。更新確認はそのうち自動でもできるようにする予定です。
account.xmlで<br><br><section name="Send"><br> <key name="Host">xxx.xxx.xxx.xxx</key><br> <key name="Port">25</key><br> <key name="Smtp_AuthMethods">CRAM-MD5</key><br> <key name="Type">smtp</key><br> <key name="UserName">xxxxxxxxxxxx</key><br></section><br><br>というようにCRAM-MD5を使用するように設定した<br>つもりなんですが、パケットを拾って見ると<br>AUTH CRAM-MD5 ではなく<br>AUTH LOGIN を使用しているようです。<br>設定が間違ってるんでしょうか?<br>それともこのあたりの実装はこれからでしょうか?<br>※開発お疲れ様です。m(_ _)m
<section name="Smtp"><br> <key name="AuthMethods">CRAM-MD5</key><br></section><br><br>としてください。
ちなみにこの設定をしなくてもサーバ側がCRAM-MD5をサポートしていれば(そして、それをちゃんと通知してきていれば)LOGINやPLAINよりCRAM-MD5が優先的に使われます。
御教授ありがとうございます。<br>サーバ側はCRAM-MD5に対応しているようですが、AUTH LOGIN<br>が選択されてしまっています。<br><br>御教授頂いた設定も試して見たのですが送信エラーとなりました。<br>以下がQMAIL3のSMTPログです。<br><br>※アドレスやサーバ名は伏せてあります。<br>****************<br>[DEBUG 2006/07/14-18:43:32+0900 qmsmtp::SmtpSendSession] Connecting to the server...<br>[DEBUG 2006/07/14-18:43:32+0900 qs::Socket] Looking up host: xxx.xxx.xxx<br>[DEBUG 2006/07/14-18:43:32+0900 qs::Socket] Connecting...<br>[DEBUG 2006/07/14-18:43:32+0900 qs::Socket] Connected.<br>[DEBUG 2006/07/14-18:43:32+0900 qs::Socket] Received data<br>220 xxx.xxx.xxx.xxx (xxxxxxxx xxxxxxxx) ESMTP Service ready<br><br>[DEBUG 2006/07/14-18:43:32+0900 qs::Socket] Sent data<br>EHLO xxxxxxxxx<br><br>[DEBUG 2006/07/14-18:43:32+0900 qs::Socket] Received data<br>250-xxx.xxx.xxx.xxx<br>250-8BITMIME<br>250-PIPELINING<br>250-DSN<br>250-AUTH=LOGIN<br>250-AUTH PLAIN CRAM-MD5 SKEY<br>250 SIZE 2147483647<br><br>[DEBUG 2006/07/14-18:43:32+0900 qs::Socket] Closing socket...<br>[DEBUG 2006/07/14-18:43:32+0900 qs::Socket] Closed socket.<br>******************
ちなみに「同期」ウィンドウに現れた<br>メッセージは下記となります。<br><br>********<br>[xxxxxxxxx] SMTPエラー (0x00000400)<br> AUTHコマンドでエラーが発生しました<br> 250-xxx.xxx.xxx.xxx<br>250-8BITMIME<br>250-PIPELINING<br>250-DSN<br>250-AUTH=LOGIN<br>250-AUTH PLAIN CRAM-MD5 SKEY<br>250 SIZE 2147483647<br>***********
違うメールサーバで試して見たところ、CRAM-MD5を<br>明示的に設定しなくてもCRAM-MD5で送信が可能でした。<br>前出のサーバでもMozilla Thunderbirdでは問題なく<br>CRAM-MD5での送信が可能でした。(?_?)<br><br>****************<br>[DEBUG 2006/07/14-18:59:07+0900 qmsmtp::SmtpSendSession] Connecting to the server...<br>[DEBUG 2006/07/14-18:59:07+0900 qs::Socket] Looking up host: xxx.xxx.xxx.xxx<br>[DEBUG 2006/07/14-18:59:07+0900 qs::Socket] Connecting...<br>[DEBUG 2006/07/14-18:59:07+0900 qs::Socket] Connected.<br>[DEBUG 2006/07/14-18:59:08+0900 qs::Socket] Received data<br>220 <1152871149.8316@xxx.xxx.xxx.xxx> [xxx xxx xxx xxx ESMTP Server] service ready; Fri, 14 Jul 2006 18:59:09 +0900<br><br>[DEBUG 2006/07/14-18:59:08+0900 qs::Socket] Sent data<br>EHLO xxxxxxxxxx<br><br>[DEBUG 2006/07/14-18:59:08+0900 qs::Socket] Received data<br>250-xxx.xxx.xxx.xxx<br><br>[DEBUG 2006/07/14-18:59:09+0900 qs::Socket] Received data<br>250-VRFY<br>250-ETRN<br>250-8BITMIME<br>250-PIPELINING<br>250-AUTH LOGIN PLAIN CRAM-MD5<br>250-SIZE<br>250 STARTTLS<br><br>[DEBUG 2006/07/14-18:59:09+0900 qs::Socket] Sent data<br>AUTH CRAM-MD5<br><br>[DEBUG 2006/07/14-18:59:09+0900 qs::Socket] Received data<br>【以下略】
互換性のためにAUTH=とAUTHの両方を解釈しているのですが、この二つの指定している内容が異なると最初に来たほうしか解釈されないのが原因です。<br><br>AUTH=の方は互換性のためだけに解釈しているので、両方来た場合にはAUTHの方を優先するようにしておきます。
お疲れ様です。<br>御確認ありがとうございます。<br>開発の一助となれたのであれば幸いです。m(_ _)m
直しておきました(r3251)。よろしければご確認ください。
確認させていただきました。<br>お教え頂いたaccount.xmlの設定を外しても送信では<br>AUTH CRAM-MD5<br>で認証を行っていることを確認いたしました。<br>修正お疲れ様でした。ありがとうございます。
以下、確認時のログ抜粋です。<br><br>*******************<br>[DEBUG 2006/07/18-09:25:00+0900 qmsmtp::SmtpSendSession] Connecting to the server...<br>[DEBUG 2006/07/18-09:25:00+0900 qs::Socket] Looking up host: xxx.xxx.xxx.xxx<br>[DEBUG 2006/07/18-09:25:00+0900 qs::Socket] Connecting...<br>[DEBUG 2006/07/18-09:25:00+0900 qs::Socket] Connected.<br>[DEBUG 2006/07/18-09:25:00+0900 qs::Socket] Received data<br>220 xxx.xxx.xxx.xxx (xxxxxxxxxx xxxxxxxxx) ESMTP Service ready<br><br>[DEBUG 2006/07/18-09:25:00+0900 qs::Socket] Sent data<br>EHLO xxxxxxxxxxx<br><br>[DEBUG 2006/07/18-09:25:00+0900 qs::Socket] Received data<br>250-xxx.xxx.xxx.xxx<br>250-8BITMIME<br>250-PIPELINING<br>250-DSN<br>250-AUTH=LOGIN<br>250-AUTH PLAIN CRAM-MD5 SKEY<br>250 SIZE 2147483647<br><br>[DEBUG 2006/07/18-09:25:00+0900 qs::Socket] Sent data<br>AUTH CRAM-MD5
account.xmlで<br><br><section name="Send"><br> <key name="Host">xxx.xxx.xxx.xxx</key><br> <key name="Port">25</key><br> <key name="Smtp_AuthMethods">CRAM-MD5</key><br> <key name="Type">smtp</key><br> <key name="UserName">xxxxxxxxxxxx</key><br></section><br><br>というようにCRAM-MD5を使用するように設定した<br>つもりなんですが、パケットを拾って見ると<br>AUTH CRAM-MD5 ではなく<br>AUTH LOGIN を使用しているようです。<br>設定が間違ってるんでしょうか?<br>それともこのあたりの実装はこれからでしょうか?<br>※開発お疲れ様です。m(_ _)m
<section name="Smtp"><br> <key name="AuthMethods">CRAM-MD5</key><br></section><br><br>としてください。
ちなみにこの設定をしなくてもサーバ側がCRAM-MD5をサポートしていれば(そして、それをちゃんと通知してきていれば)LOGINやPLAINよりCRAM-MD5が優先的に使われます。
御教授ありがとうございます。<br>サーバ側はCRAM-MD5に対応しているようですが、AUTH LOGIN<br>が選択されてしまっています。<br><br>御教授頂いた設定も試して見たのですが送信エラーとなりました。<br>以下がQMAIL3のSMTPログです。<br><br>※アドレスやサーバ名は伏せてあります。<br>****************<br>[DEBUG 2006/07/14-18:43:32+0900 qmsmtp::SmtpSendSession] Connecting to the server...<br>[DEBUG 2006/07/14-18:43:32+0900 qs::Socket] Looking up host: xxx.xxx.xxx<br>[DEBUG 2006/07/14-18:43:32+0900 qs::Socket] Connecting...<br>[DEBUG 2006/07/14-18:43:32+0900 qs::Socket] Connected.<br>[DEBUG 2006/07/14-18:43:32+0900 qs::Socket] Received data<br>220 xxx.xxx.xxx.xxx (xxxxxxxx xxxxxxxx) ESMTP Service ready<br><br>[DEBUG 2006/07/14-18:43:32+0900 qs::Socket] Sent data<br>EHLO xxxxxxxxx<br><br>[DEBUG 2006/07/14-18:43:32+0900 qs::Socket] Received data<br>250-xxx.xxx.xxx.xxx<br>250-8BITMIME<br>250-PIPELINING<br>250-DSN<br>250-AUTH=LOGIN<br>250-AUTH PLAIN CRAM-MD5 SKEY<br>250 SIZE 2147483647<br><br>[DEBUG 2006/07/14-18:43:32+0900 qs::Socket] Closing socket...<br>[DEBUG 2006/07/14-18:43:32+0900 qs::Socket] Closed socket.<br>******************
ちなみに「同期」ウィンドウに現れた<br>メッセージは下記となります。<br><br>********<br>[xxxxxxxxx] SMTPエラー (0x00000400)<br> AUTHコマンドでエラーが発生しました<br> 250-xxx.xxx.xxx.xxx<br>250-8BITMIME<br>250-PIPELINING<br>250-DSN<br>250-AUTH=LOGIN<br>250-AUTH PLAIN CRAM-MD5 SKEY<br>250 SIZE 2147483647<br>***********
違うメールサーバで試して見たところ、CRAM-MD5を<br>明示的に設定しなくてもCRAM-MD5で送信が可能でした。<br>前出のサーバでもMozilla Thunderbirdでは問題なく<br>CRAM-MD5での送信が可能でした。(?_?)<br><br>****************<br>[DEBUG 2006/07/14-18:59:07+0900 qmsmtp::SmtpSendSession] Connecting to the server...<br>[DEBUG 2006/07/14-18:59:07+0900 qs::Socket] Looking up host: xxx.xxx.xxx.xxx<br>[DEBUG 2006/07/14-18:59:07+0900 qs::Socket] Connecting...<br>[DEBUG 2006/07/14-18:59:07+0900 qs::Socket] Connected.<br>[DEBUG 2006/07/14-18:59:08+0900 qs::Socket] Received data<br>220 <1152871149.8316@xxx.xxx.xxx.xxx> [xxx xxx xxx xxx ESMTP Server] service ready; Fri, 14 Jul 2006 18:59:09 +0900<br><br>[DEBUG 2006/07/14-18:59:08+0900 qs::Socket] Sent data<br>EHLO xxxxxxxxxx<br><br>[DEBUG 2006/07/14-18:59:08+0900 qs::Socket] Received data<br>250-xxx.xxx.xxx.xxx<br><br>[DEBUG 2006/07/14-18:59:09+0900 qs::Socket] Received data<br>250-VRFY<br>250-ETRN<br>250-8BITMIME<br>250-PIPELINING<br>250-AUTH LOGIN PLAIN CRAM-MD5<br>250-SIZE<br>250 STARTTLS<br><br>[DEBUG 2006/07/14-18:59:09+0900 qs::Socket] Sent data<br>AUTH CRAM-MD5<br><br>[DEBUG 2006/07/14-18:59:09+0900 qs::Socket] Received data<br>【以下略】
互換性のためにAUTH=とAUTHの両方を解釈しているのですが、この二つの指定している内容が異なると最初に来たほうしか解釈されないのが原因です。<br><br>AUTH=の方は互換性のためだけに解釈しているので、両方来た場合にはAUTHの方を優先するようにしておきます。
お疲れ様です。<br>御確認ありがとうございます。<br>開発の一助となれたのであれば幸いです。m(_ _)m
直しておきました(r3251)。よろしければご確認ください。
確認させていただきました。<br>お教え頂いたaccount.xmlの設定を外しても送信では<br>AUTH CRAM-MD5<br>で認証を行っていることを確認いたしました。<br>修正お疲れ様でした。ありがとうございます。
以下、確認時のログ抜粋です。<br><br>*******************<br>[DEBUG 2006/07/18-09:25:00+0900 qmsmtp::SmtpSendSession] Connecting to the server...<br>[DEBUG 2006/07/18-09:25:00+0900 qs::Socket] Looking up host: xxx.xxx.xxx.xxx<br>[DEBUG 2006/07/18-09:25:00+0900 qs::Socket] Connecting...<br>[DEBUG 2006/07/18-09:25:00+0900 qs::Socket] Connected.<br>[DEBUG 2006/07/18-09:25:00+0900 qs::Socket] Received data<br>220 xxx.xxx.xxx.xxx (xxxxxxxxxx xxxxxxxxx) ESMTP Service ready<br><br>[DEBUG 2006/07/18-09:25:00+0900 qs::Socket] Sent data<br>EHLO xxxxxxxxxxx<br><br>[DEBUG 2006/07/18-09:25:00+0900 qs::Socket] Received data<br>250-xxx.xxx.xxx.xxx<br>250-8BITMIME<br>250-PIPELINING<br>250-DSN<br>250-AUTH=LOGIN<br>250-AUTH PLAIN CRAM-MD5 SKEY<br>250 SIZE 2147483647<br><br>[DEBUG 2006/07/18-09:25:00+0900 qs::Socket] Sent data<br>AUTH CRAM-MD5