ホーム » 2013 » 11月 » 15

日別アーカイブ: 2013年11月15日

2013年11月
 12
3456789
10111213141516
17181920212223
24252627282930

検索・リンク

(専攻科実験)Perlでのメール送信

専攻科の実験で、RSS による情報フィードの活用のテーマのプログラム作成中。 実験学生が、作ってみたいプログラムの案にメールの事例が多かったので、 メールの送信方法について記載しておく。

もっとも簡単なメール送信例

メールを送るためには、メール形式について理解が必要となるので、以下の資料参照。

特に、日本語などの様々な言語でメールを送る場合には、 メールヘッダの"Content-Type:… charset=…"によって、送信する文字コードなどを 指定すれば良い。ただし、日本の古いガラケーでは、JIS コード以外だと文字化けする 場合も多いため、特に問題がないのなら日本語でメールを送るには、 JISコード(ISO-2022-JP)にすべきである。

以下に、最も単純な日本語メールを送るサンプルプログラムを示す。

#!/usr/bin/perl
use Jcode ;
use Email::MIME ;
use Email::MIME::Creator ;
# メールの形式に応じたデータを作る
my $mail = Email::MIME->create(
# メールヘッダの必須パラメータ
header => [ # (注) headerは配列へのリファレンス
# "foo@example.co.jp"と書くと
# @exampleの部分が配列とみなされるので''を使う。
From => 'foo@example.co.jp' ,
To   => 'bar@example.co.jp' ,
# ヘッダでの漢字は、MIME形式でエンコードしないとダメ。
Subject => Jcode->new( "実験" )->mime_encode() ,
] ,
# その他のパラメータ
attributes => {     # (注) attributesはハッシュへのリファレンス
content_type => 'text/html' ,
charset      => 'ISO-2022-JP' ,
encoding     => '7bit' ,
} ,
# メールの本文
body => Jcode->new( "こんにちは" )->jis
) ;
# sendmail を使ってメールを送る。
#   "-t" オプションをつけるとヘッダ部を追加できる
#   open( FH , "|..." ) で出力をプログラムにパイプで渡す。
open( FH , "| /usr/sbin/sendmail -t" )
or die( "Can't open sendmail" ) ;
print FH $mail->as_string ;
close( FH ) ;

台湾への工場見学旅行のお土産もらいましたぁ。

1311150920_320x320.JPG

今週1週間、3EIの学生さんは工場見学旅行で、今年は前年に引き続き台湾となりました。 先程、先に無事にもどられた西先生より、おみやげを頂きました。 特に大きなトラブルもなく、見学先の大学との学生間交流もできたようでした。

まだ、3EIの学生さんは自主見学旅行の途中でしょうが、無事に帰ってきてくださいませ。

『今日は1限目から3EIの授業、先週のネタからすると××の説明するぞ!!』と 教室に向かったけど、誰もいませんでした…
# 気づくの遅っ!!

システム

最新の投稿(電子情報)

アーカイブ

カテゴリー