SMTP SERVER AUTH DATA(参考)
(At your own risk)
qmail-smtpd-auth-0.31では、EHLOに対するSMTPの返事に
- AUTH LOGIN
- AUTH PLAIN LOGIN
- AUTH=LOGIN
のいずれかを含む場合に認証処理を行なうようになっている。これにマッチし
ない返事を返すSMTPサーバを使用するばあい変更が必要だ。
DTI Submission Port 587のサーバメッセージ
Connected to smtp93.dti.ne.jp.
Escape character is '^]'.
220 smtp13.dti.ne.jp ESMTP DTImail 3.11s; Mon, 30 Oct 2006 10:34:25 +0900 (JST)
EHLO *****.*****.jp
250-smtp13.dti.ne.jp Hello PPPa495.niigata-ip.dti.ne.jp [210.159.175.245], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE 104857600
250-AUTH CRAM-MD5 PLAIN LOGIN
250-DELIVERBY
250 HELP
AUTH LOGIN
334 VXNlcm5hbWU6
****************************
334 UGFzc3dvcmQ6
*********
235 2.0.0 OK Authenticated
「AUTH CRAM-MD5 PLAIN LOGIN」にマッチするように変更必要。
以下に変更例を示す。
--- qmail-remote-auth.patch 2006-10-30 11:01:39.000000000 +0900
+++ qmail-remote-auth-dti.patch 2006-10-30 11:01:39.000000000 +0900
@@ -40,8 +40,8 @@
+ while((i += str_chr(smtptext.s+i,'\n') + 1) && (i+14 < smtptext.len) &&
+ str_diffn(smtptext.s+i+4,"AUTH LOGIN\n",11) &&
+ str_diffn(smtptext.s+i+4,"AUTH LOGIN ",11) &&
-+ str_diffn(smtptext.s+i+4,"AUTH PLAIN LOGIN\n",17) &&
-+ str_diffn(smtptext.s+i+4,"AUTH PLAIN LOGIN ",17) &&
++ str_diffn(smtptext.s+i+4,"AUTH CRAM-MD5 PLAIN LOGIN\n",26) &&
++ str_diffn(smtptext.s+i+4,"AUTH CRAM-MD5 PLAIN LOGIN ",26) &&
+ str_diffn(smtptext.s+i+4,"AUTH=LOGIN\n",11) &&
+ str_diffn(smtptext.s+i+4,"AUTH=LOGIN ",11));
+ if ((i+14 < smtptext.len) && auth_smtp_user.len && auth_smtp_pass.len) {
YBB Submission Port 587のサーバメッセージ
$ telnet ybbsmtp.mail.yahoo.co.jp 587
Trying 203.216.231.239...
Connected to ybbsmtp103.mail.vip.tnz.yahoo.co.jp.
Escape character is '^]'.
220 ybbsmtp22.mail.tnz.yahoo.co.jp ESMTP
EHLO *****.*****.jp
250-ybbsmtp22.mail.tnz.yahoo.co.jp
250-AUTH LOGIN PLAIN
250-PIPELINING
250 8BITMIME
AUTH LOGIN
334 VXNlcm5hbWU6
************************
334 UGFzc3dvcmQ6
******
235 ok, go ahead (#2.0.0)
「AUTH LOGIN」にマッチする(変更必要ない)。
が、YBBは送信者(MAIL FROM)同じものを指定しないと送信してくれない(複数人で使うのに四苦八苦する)。
とりあえず、以下のようにして、「MAIL FROM」をAUTHのユーザ名に変更する事で複数人での送信使用が可能だ
(ただ、送信エラーがAUTHユーザに全部帰ってくるが...)。
--- qmail-remote-auth.patch 2006-10-30 11:01:39.000000000 +0900
+++ qmail-remote-auth-ybb.patch 2006-10-30 11:40:58.000000000 +0900
@@ -59,9 +59,9 @@
+ substdio_flush(&smtpto);
+ if (smtpcode() != 235) quit("ZConnected to "," but authentication was rejected (password)");
+ substdio_puts(&smtpto,"MAIL FROM:<");
-+ substdio_put(&smtpto,sender.s,sender.len);
++ substdio_put(&smtpto,auth_smtp_user.s,auth_smtp_user.len);
+ substdio_puts(&smtpto,"> AUTH=<");
-+ substdio_put(&smtpto,sender.s,sender.len);
++ substdio_put(&smtpto,auth_smtp_user.s,auth_smtp_user.len);
+ substdio_puts(&smtpto,">\r\n");
+ substdio_flush(&smtpto);
+ } else {
TIKITIKI Submission Port 587のサーバメッセージ
Trying 218.40.30.79...
Connected to smtp8.tiki.ne.jp.
Escape character is '^]'.
220 smtp8.tiki.ne.jp ESMTP Sendmail ; Thu, 3 May 2007 22:51:41 +0900 (JST)
EHLO gem.mydns.jp
250-smtp8.tiki.ne.jp Hello softbank219040138025.bbtec.net [219.40.138.25], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE 10624000
250-DSN
250-AUTH PLAIN LOGIN
250-STARTTLS
250-DELIVERBY
250 HELP
QUIT
221 2.0.0 smtp8.tiki.ne.jp closing connection
Connection closed by foreign host.
「AUTH PLAIN LOGIN」にマッチする(変更必要ない)
BB.EXCITE Submission Port 587のサーバメッセージ
Trying 211.132.194.95...
Connected to smtp.dream.bbexcite.jp.
Escape character is '^]'.
220 exc-mta-sec03.bbexcite.jp ESMTP
EHLO gem.mydns.jp
250-exc-mta-sec03.bbexcite.jp
250-AUTH LOGIN CRAM-MD5 PLAIN
250-AUTH=LOGIN CRAM-MD5 PLAIN
250-PIPELINING
250 8BITMIME
AUTH LOGIN
334 VXNlcm5hbWU6
「AUTH LOGIN」および「AUTH=LOGIN」にマッチする(変更必要ない)
Last modified: Tue Feb 3 14:07:35 JST 2009