カテゴリ
リンク

当サイトは、玄箱PRO (KURO-BOX/Pro)を中心とした組み込み、Linuxと電子工作を扱っています。
会社案内

情報セキュリティおよび個人情報の取り扱いについて


コメントとトラックバックは、spamを予防するために、編集担当が公開の作業をするまで非公開になっています。コメントはそれぞれ投稿した人のものです。

■必要な設定は?
  まずメールを受信できるように exim4 の設定をします。メールを受信するには fetchmail を利用 することにしました。メールを受信したときの動作を決めるのは、.forward ファイルです。定期的 な実行には cron を使います。点滅させる LED には、シリアル・チェッカを利用しました。
■exim4 の再設定
  メールを玄箱PROで受け取るように exim4 の再設定をします。
dpkg-reconfigure exim4-config
 以前(電子メールを出せるようにす る)と違うのは「メール設定の一般的タイプ」で、「スマートホストでメール送信:SMTPまたは fetchmailで受信する」を選ぶことと、「ローカルメールの配送方式」を聞かれるので、適当な方式 を選ぶことです。ここでは mbox 形式を選びました。ほかの設定は、一度設定していれば、そのまま でかまいません。


exim3.png

「メール設定の一般的タイプ」で「スマートホストでメール送信:SMTPまたは fetchmailで受信する」を選ぶ


exim10b.png

「ローカルメールの配送方式」で、mbox 形式を選ぶ

■ユーザの追加
 kurobox ユーザでテストしてもいいのですが、 kuromail ユーザを作ってみました。root になり、 adduser でユーザを作ります。
kurobox:/# adduser kuromail 
Adding user `kuromail' ... 
Adding new group `kuromail' (1001) ... 
Adding new user `kuromail' (1001) with group `kuromail' ... 
Creating home directory `/home/kuromail' ... 
Copying files from `/etc/skel' ... 
Enter new UNIX password:                                          <-パスワードを入力 
Retype new UNIX password:                                         <-もう一度入力 
passwd: password updated successfully 
kuromailのユーザ情報変更中 
新しい値を入力してください, 標準設定値を利用するには リターンを押してください. 
フルネーム []: 
部屋番号 []: 
職場電話番号 []: 
自宅電話番号 []: 
その他 []: 
以上で正しいですか? [y/N]                                            <-yを入力 
kurobox:/#
■fetchmail のインストール
  メールをサーバから受信するのに fetchmail を利用します。apt-get でインストールします。
apt-get install fetchmail
 ホーム・ディレクトリ (kuromail ユーザなら /home/kuromail/ ) に設定ファイル .fetchmailrc を用意します。内容は次のようなものです。
poll mail1 via popserver.example.ne.jp with protocol POP3: 
                    timeout 5, user username, password passwd
 サーバが popserver.example.ne.jp, プロトコルは POP3, ユーザ名は username, パスワードは passwd をそれぞれ置き換えてください。パスワードを保管するのでオーナ以外見れないようにパー ミッションを変えておきます。
chmod 600 .fetchmailrc
 実行してみます。
kuromail@kurobox:~$ fetchmail 
1 通のメッセージが アカウント username , サーバ mail1 宛に届いています (688 バイト) 
username@popserver.example.ne.jp 宛に届いた 1 番目のメッセージ(全部で 1 通)を読み込んでい

ます (688 バイト) サーバからメッセージを削除しました。 
kuromail@kurobox:~$
 メールがなければ、
kuromail@kurobox:~$ fetchmail 
fetchmail: アカウント username , サーバ mail1 宛にメッセージは届いていません。
となります。fetchmail の設定の詳細は man fetchmail を実行してマニュアルを読んでみてくださ い。ここでは、このテスト専用のメール・アカウントを用意するものとして、fechmail で受信した メールは消しています。専用のメール・アカウントを用意できない場合は、重要なメールを消してし まわないよう、fetchmail のマニュアルをよく読み、十分に注意して設定をしてください。

■メールを受信したら LED を点滅する
  メールを受信したら、シリアル・ポートにつないだシリアル・チェッカのLEDを点滅させて見ます。 プログラムはled.cです。ダウンロードしてコンパイルしてください。
make led
 ためしに、実行してみます。/dev/ttyUSB0 にシリアル・チェッカをつないでいるとします。
/home/kuromail/led /dev/ttyUSB0
 これを /home/kuromail/led として用意しておくものとします。/home/kuromail/.forward を用意 します。
| /home/kuromail/led /dev/ttyUSB0
 .forward は、メールの転送やメール受信時のコマンドの設定に使います。1文字目が縦棒のとき、 メールを受信すると、後ろのコマンドが実行されます。テスト・メールを出してみます。
kuromail@kurobox:~$ mail kurotest Subject: test test . Cc: kuromail@kurobox:~$
 LED が点滅すればOKです。fetchmail を実行して、メールを受信したら LED が点滅することを確 認します。

■定期的にメールを受信する
  定期的にコマンドを実行するには cron を使います。設定は crontab コマンドを使います。ここ では、以下のファイルを mycrontab ファイルとして用意します。
0,10,20,30,40,50 * * * * /usr/bin/fetchmail > /dev/null 2>&1
 左から順に、実行する分、時、日、月、曜日、実行コマンドです。* はワイルド・カードで、その フィールドの値(たとえば、時や曜日)を問わないという意味になります。1行には一つのコマンドを 書きます。複数のコマンドを指定する場合は、複数の行に分けます。上の場合は、0, 10, 20, 30, 40, 50 分に fetchmail を実行します。crontab ファイルをインストールするには、crontab コマン ドを使います。
crontab mycrontab
今の設定を見るには、
crontab -l
です。
kuromail@kurobox:~$ crontab -l 0,10,20,30,40,50 * * * * /usr/bin/fetchmail > /dev/null 2>&1 kuromail@kurobox:~$
crontab コマンドの使い方の詳細は、man crontab, 設定ファイルの書き方の詳細は man 5 crontab を読んでください。
 <光永 法明>

 カテゴリ 

 

トラックバック(0)

このブログ記事を参照しているブログ一覧: メールを受信したら LED を点滅する

このブログ記事に対するトラックバックURL: http://www.eleki-jack.com/mt/mt-tb.cgi/1224

コメントする

おすすめ書籍
Powered by
Movable Type 4.1