主に IT 技術を整理するためにメモ的に書き溜めています。少しだけフリーソフトもあるよ。コメントを残すには、 facebook を使ってください。

telnet で SMTP コマンドを使ってメールを送信するには

最終更新日 2013-10-05 14:51:44 (1年以上前の記事です)

SMTP でちょっとテストしたい時などに SMTP コマンドを実際に叩いてテストすることがよくあるが、 smtp auth のやり方がいまいち分からなかったので、調べた時のメモ。


いつもやる基本的なコマンドの流れは以下の様な感じ。

$ telnet smtp.domain.com 25
220 smtp.domain.com ESMTP Postfix (Ubuntu)

EHLO my.domain.com
250-smtp.domain.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN

MAIL FROM: from@address.com
250 2.1.0 Ok

RCPT TO: to@address.com
250 2.1.5 Ok

DATA
354 End data with .
headers:
body
.

AUTH PLAIN

上記の流れにプレインテキストによる SMTP AUTH コマンドを追加するには、まずユーザー名とパスワードをフォーマットして、 BASE64 エンコードする必要がある。
フォーマットは以下のとおり。

{null}user_name{null}password


これをサクッと BASE64 にするには

perl -MMIME::Base64 -e 'print encode_base64("\000user_name\000password")' 


そして生成されたデータを使って、

AUTH PLAIN {generated_BASE64_data_here}

を、 MAIL FROM コマンドの前に実行すればよい。

最終更新日 2013-10-05 14:51:44

コメント このエントリーをはてなブックマークに追加

フリーソフトウエア
EnjoiFLV
EnjoiPacket
EnjoiCrypto
ランキング
rank2, rank3, rank7, rank10, rank11
todo メモ
facebook 対応
ページ処理
RSS feed
検索機能
認証いる?
更新日表示
実はカテゴリ機能
多言語
実はユーザ機能
ソースその内公開
動作環境メモ
php-5.1.6 with PDO
SQLite-3.3
IE6
FireFox-1.5
RSS
非認証

検索
Google