You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
Lesson3ではメールの受信に使うPOP3について詳しく見ていく。受信操作の大まかな流れに加えて,未読メールだけを選別して受信するしくみも押さえておきたい。 やりとりには3段階ある POP3でのやりとりには,「認証」,「トランザクション」,「アップデート」という三つの段階がある(図3-1)。ちなみに,Lesson2で説明したSMTPのやりとりはトランザクションのみにあたる。POP3にはSMTPにはなかった認証とアップデートがあるのが特徴だ。 図3-1●POP3でのやりとりの流れ POP3でメールを受信するときは,ユーザーの認証後,メールの一覧を表示したり,メールを取り込んだり,削除したりするコマンドを実行する。図ではLIST,RETRというコマンドだけを実行しているが,各コマンドの実行順序は決められていない。POP3はRFC1939で規定されている。 では,3段階の動作を一つずつ説明して
Lesson2ではメールを送信するのに使うSMTPについて詳しく見ていこう。SMTPで使われているコマンドとそれらがやりとりされる手順をしっかり理解しておきたい。また,メールを複数のあて先に同報するときの動作についても知っておこう。 情報を送信するとサーバーが返答 SMTPは,メーラーからメール・サーバーにメールを送るときと,メール・サーバー間でメールを転送するときに使われている。図2-1では,例としてメーラーとメール・サーバーでのやりとりを示している。 図2-1●SMTPでの基本的なやりとり メールを送るときは,送信元とあて先の情報を送ってから,メールの本体を送る。SMTPはRFC2821で規定されている。 [画像のクリックで拡大表示] SMTPのやりとりはとてもシンプルだ。TCPで接続後,メールの送信元アドレス,あて先アドレス,メールの本文という順番でデータを送る。この動作を,送るメー
SMTPとPOPは電子メールで使われるプロトコルです。 電子メールは、送信と受信で異なるプロトコルを使って データをやり取りを行うのが特徴。 送信で使われるプロトコルが「SMTP(Simple Mail Transfer Protocol)」、 受信で使われるプロトコルが「POP(Post Office Protocol )」です。 SMTPとPOPはそれぞれ、以下のRFCで標準化されています。 SMTP RFC2821 POP 現在主流のPOP Version3(POP3)がRFC1939で標準化 今回はメール配信の基本動作から見ていきましょう。 メール配信の基本動作 メール配信には、SMTPとPOP3、そしてDNSのしくみを利用しています。 メールを書いてメール・ソフトの送信ボタンを押すと、 メール・ソフトがSMTPを使用して内容を 「メール・サーバ」へと送ります。 メール・サーバでは
2. 2 私は誰 • 氏名: 滝澤 隆史 @ttkzw • 所属: 株式会社ハートビーツ • 何やっている人 ▫ メーラMuttの国際化や日本語対応パッチ作者 ▫ SpamAssassinの日本語対応パッチ作者 • メールシステムとの関わり ▫ システム管理者として1997年から2006年までメールサー バの管理 ▫ 昔、qmail関連で色々やっていた。2006年にqmail捨て捨 て。Postfix/Dovecot遣いにクラスチェンジ ▫ 現在は個人サーバでメールサーバを運用 Postfix + Dovecot + Sieve(dovecot-pigeonhole) + ClamAV + SpamAssassin + spamass-milter + Roundcube
「メールを送る」とは、最終的にメールアドレスの示すメールボックスにメッセージを送り込むことである。このとき、2つのホスト間でメールを転送するのに使われるプロトコルが「SMTP」だ。 メール転送の手順とは? SMTPは「Simple Mail Transfer Protocol」の略で、インターネットのホスト間でメールを交換するために使われてきた古いプロトコルである。もともとRFC821で定義されていたが、ヘッダのRFC2822と同様、さまざまな拡張の必要に迫られてRFC2821に置き換えられた経緯がある。 図1はSMTPの概要を表わしたものである。メールの送信側がSMTPクライアントで、メールを受信する側がSMTPサーバとなる。SMTPサーバのポート番号はインターネット標準で「25」が割り当てられており、メール送信はクライアントからサーバのポート25へTCPコネクションを確立することから始
SMTPサーバの設定をした後、SMTP認証(AUTH-PLAIN)が通かどうかをtelnetで確認します。 認証用の文字列はユーザ名 (Null)ユーザ名(Null)パスワードをbase64で符号化して作ります。 MacOS Xを使っている場合は、% printf "%s\0... tr -d '\n' | pbcopyでコピーすると文字列を選択してコピーしなくていいので楽です。 SMTPサーバ: mx.example.jp:587 認証ユーザ名: user@example.jp 認証パスワード: hoge % printf "%s\0%s\0%s" user@example.jp user@example.jp hoge | openssl base64 -e | tr -d '\n'; echo dXNlckBleGFtcGxlLmpwAHVzZXJAZXhhbXBsZS5qcABob
telnet で CRAM-MD5 な SMTP 認証を試しました。 残念ながら DIGEST-MD5 はやり方不明。 cram-md5.sh というファイル名でスクリプトをあらかじめ用意する。 #!/usr/local/bin/bash set -e set -u ACCOUNT=$1 PASSWORD=$2 CHALLENGE=$3 CHALLENGE_DECODED=`echo -n $CHALLENGE | base64 -d` HMAC=`echo -n $CHALLENGE_DECODED | openssl md5 -hmac $PASSWORD` TEMP="$ACCOUNT $HMAC" # RESPONSE1=`echo -n "$TEMP" | base64 | tr -d '\n'` RESPONSE2=`echo -n $TEMP | openssl enc -b
% telnet mail.zzz.dom 25 220 mail.zzz.dom SMTP-Gateway ... EHLO mail.zzz.dom 250-mail.zzz.dom Hello mail.zzz.dom ... 250-AUTH CRAM-MD5 LOGIN PLAIN ←SMTP AUTH をサポートしていることを示す 250-ENHANCEDSTATUSCODES 250-8BITMIME 250-SIZE 10485760 250-DSN 250-ONEX 250-XUSR 250 HELP AUTH PLAIN dGFuYWthAHRhbmFrYQBoaS5taS50dQ== 235 Authentication successful QUIT 221 Closing connection. Good bye. AUTH PLAIN コマンドには、"ユーザ名\
インストール msmtp パッケージでインストールできます。さらに msmtp-mta をインストールすることで msmtp に sendmail エイリアスが作成されます。 基本設定 以下は msmtp の設定例です (パッケージに含まれている、/usr/share/doc/msmtp/msmtprc-user.example にある通常ユーザーのサンプルが基になっています。システム設定ファイルは /etc/msmtprc にあり、サンプルは /usr/share/doc/msmtp/msmtprc-system.example にあります): ~/.msmtprc # Set default values for all following accounts. defaults auth on tls on tls_trust_file /etc/ssl/certs/ca-certif
TLSを使う方法は、TLSと同レイヤで動作するその他のプロトコルと同様であり、複数のTLSライブラリ実装でサポートされている。 TLSのSMTP拡張 (RFC 3207) で、クライアント(以下ではCとする)とサーバ(以下ではSとする)がセキュアなセッションを開始するまでのやりとりは、例えば次のようになる[2]。 S: <TCPポート25番で接続要求を待つ> C: <接続をオープンする> S: 220 mail.example.org ESMTP service ready C: EHLO client.example.org S: 250-mail.example.org offers a warm hug of welcome S: 250 STARTTLS C: STARTTLS S: 220 Go ahead C: <TLSネゴシエーションを開始> C & S: <TLSのネゴシエ
telnetでのメール送信方法 telnetコマンドで、sendmailの25番ポートに接続し、直接、メールを送信してみます。 この操作で、メール送信時のデータの流れが、だいたい理解できると思います。 Linux# telnet mail.ash.jp 25 Trying 210.154.87.18 ... Connected to mail.ash.jp Escape character is '^]'. 220 mail.ash.jp ESMTP Sendmail 8.9.1/3.7W; Tue, 29 Sep 1998 12:30: 13 +0900 (JST) HELO foo.or.jp 250 mail.ash.jp Hello pc20.lo.ash.jp [10.0.1.20], pleased to meet you MAIL FROM: user@foo.or.jp 2
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く