PHPコーディング
SMTPソケットをオープンしてメール送信(PLAIN認証)
2010年01月21日
昨日の続きです。
昨日はソケットオープンまで成功しました。
今日はsmtp認証です。
smtp認証にも色々ありますが、まずは【PLAIN】方式についてです。
この方式は、【PLAIN】方式で認証を行うことをサーバーに通知する文字列に続いて、認証文字列をサーバーに送信します。
認証文字列に使うのは、サーバーによって
$id."\0".$id."\0".$pw
か
$id."\0".$pw
をbase64でエンコードした文字列です。
$ninsyo = base64_encode($id."\0".$id."\0".$pw);
@fputs($sock, "AUTH PLAIN ".$ninsyo."\r\n");
$result = @fgets($sock, 128);
成功してれば、【235 ・・・】と先頭が【235】の文字列がサーバーから返ってきます。
もしエラーなら、
$ninsyo = base64_encode($id."\0".$pw);
@fputs($sock, "AUTH PLAIN ".$ninsyo."\r\n");
を送ってみます。
この方式は、base64でエンコードしていますが、簡単にIDやパスワードをデコードできるので、セキュリティが高い方式ではありません。
昨日はソケットオープンまで成功しました。
今日はsmtp認証です。
smtp認証にも色々ありますが、まずは【PLAIN】方式についてです。
この方式は、【PLAIN】方式で認証を行うことをサーバーに通知する文字列に続いて、認証文字列をサーバーに送信します。
認証文字列に使うのは、サーバーによって
$id."\0".$id."\0".$pw
か
$id."\0".$pw
をbase64でエンコードした文字列です。
$ninsyo = base64_encode($id."\0".$id."\0".$pw);
@fputs($sock, "AUTH PLAIN ".$ninsyo."\r\n");
$result = @fgets($sock, 128);
成功してれば、【235 ・・・】と先頭が【235】の文字列がサーバーから返ってきます。
もしエラーなら、
$ninsyo = base64_encode($id."\0".$pw);
@fputs($sock, "AUTH PLAIN ".$ninsyo."\r\n");
を送ってみます。
この方式は、base64でエンコードしていますが、簡単にIDやパスワードをデコードできるので、セキュリティが高い方式ではありません。
コメント