...

目次 - 電子工作のための「飛石伝い」

by user

on
Category: Documents
9

views

Report

Comments

Transcript

目次 - 電子工作のための「飛石伝い」
CPU基板からメール送信をするには
V004
2014/08/27
メール送信時に SMTP 認証を行ってメールサーバに接続するプログラムのサンプルを 「 Web で I/O 制御 」 の
ページに掲載しました。
メールサーバ接続時に EHLO コマンド(Extended Hello : smtp サービス拡張機能を使用開始するためのコマンド)を使用します。
最近のほとんどのメールサーバは SMTP 認証を行うようになってきたため、本文で紹介している従来の HELO コマンドでは
メール送信を行えなくなってきました。
今後は、「 Web(インターネット越し)で I/O 制御 」 のページを参照してください。
「Web で I/O 制御」のページに WiFi モジュール BP3591 を使用して、実際に CPU 基板からメール送信するプログラムを
掲載しています。
目次
1. 概要.........................................................................................................................................................................................................................................................................2
2. メールの流れ......................................................................................................................................................................................................................................................2
3. SMTP....................................................................................................................................................................................................................................................................3
1
1. 概要
「飛石伝ひ」において、WiFi モジュールとブロードバンドルータを使用して、どのようにしてメールの送信を行っているかを
おおまかに説明します。
「Web で I/O 制御」のページに WiFi モジュール BP3591 を使用して、実際に CPU 基板からメール送信するプログラムを
掲載しています。
なお、「飛石伝ひアプリケーション」 において、“飛石” に “振舞い方” を設定してメールを送信する方法は、
「飛石伝ひアプリケーションの説明」 のページの 「飛石伝ひ 振舞い方の説明」 の
“2.12.1. Mail送信” を参照してください。
2. メールの流れ
メールはSMTPというプロトコルで送信します。
メール送信の流れは次の通りです。
1)
2)
3)
4)
CPU基板はSMTPクライアントとなり、契約しているプロバイダのメールサーバ(A)にメールを送信します。
プロバイダのメールサーバ(A)は、宛先のメールボックスがあるメールサーバ(B)にメールを転送します。
メールを受け取ったメールサーバ(B)は宛先のメールボックスにメールを格納します。
メールの受信者がPOP3クライアントとしてメールボックスにアクセスしてメールを受信します。
SMTP
CPU 基板
メール
サーバ(A)
SMTP
メール
サーバ(B)
SMTP クライアント
POP3
受信者
POP3 クライアント
図2.
CPU基板が行う処理は 1) のSMTPクライアントとしてメールサーバ(A)にメールを送信する部分だけです。
2
3. SMTP
SMTP(Simple Mail Transfer Protocol)は電子メールを送信するためのプロトコルです。
CPU基板はSMTPクライアントになり、メールサーバにメールを送信します。
メールの送信手順を以下に記します。
1) メール送信手順
SMTP クライアント
SMTP サーバ
メールサーバの URL から IP アドレス変換要求
メールサーバの IP アドレス
Web
DNS
TCP クライアント接続(取得したメールサーバのIPアドレスに接続)
220 リプライ
HELO コマンド
250 OK
CPU 基板
メールサーバ
MAIL FROM<mail Address> (送信者のメールアドレス)
250 OK
RCPT TO<mail Address> (受信者のメールアドレス)
250 OK
DATA + 送信通知
354 リプライ
メールヘッダ + 本体 + .CRLF
250 OK
QUIT コマンド
221 リプライ
TCP 切断
図3. 1)
3
2) SMTPコマンド
表3. 2)
コマンド名
HELO
MAIL
RCPT
DATA
RSET
QUIT
機能
SMTP セッションの開始をサーバに通知する。
メッセージの送信者を通知する。(MAIL FROM)
メッセージの受信者を通知する。(RCPT TO)
メールデータを送信する。
現在のメールトランザクションを中止し、バッファをクリアする。
SMTP セッションの終了をサーバに通知する。
4
リプライコード
成功時
250
250
250
354
250
221
リプライコード
失敗時
552,451,452
550,553,450,451
451,554
500,501,502,421
500
改訂履歴
V001
2013/10/11
初版
V002
2014/06/10
改訂履歴の追加
V003
2014/08/21
メール送信時に認証についてのメッセージ追加
V004
2014/08/27
お知らせを追加
5
Fly UP