スポンサーリンク

[2007-11-13-3] で Perlでのメールの送信方法について紹介しました。
今度は、日本語の入ったメールをPerlで送信する方法について、紹介します。
[2007-11-13-3]
で紹介したPerlからのメール送信でも、問題ないケースもありますが、受信するメーラによっては、文字コードの認識を自動的に行ってくれず、化けてしまうことがあります。
そこで、件名や本文の文字コードをエンコードしたり、ヘッダに文字コード情報を追加してあげる必要があります。

メールの件名で、日本語を利用するには、JISコードで送信しなければならないという決まりあります。さらに、MIMEエンコードする必要があります。

文字コードの変換には、Perlモジュール
Jcode.pmを利用します。
Perl Jcode.pm のインストール方法には、 [2007-11-13-2]
を参照してください。

ソース

$toと$fromのメールアドレスは、適切なものに変更してください。

#!/usr/local/bin/perl

use strict;
use warnings;

use Jcode;

my $SENDMAIL;
my $sendmail_cmd = "/usr/sbin/sendmail -t";

my $from = "yahoo\@yahoo2.co.jp";	# Fromメールアドレス
my $to = "google\@yahoo2.co.jp";	# あて先のメールアドレス
my $cc = "";
my $subject = "日本語";			# メールの件名
my $message =<<__E_O_F__;		# メールの本文
こんにちは、 $to さん。

さようなら。
__E_O_F__

&Jcode::convert(\$subject, 'jis');	# jisに変換する
$subject = jcode($subject)->mime_encode; # mimeエンコードする
&Jcode::convert(\$message, "jis");	# jisに変換する

open($SENDMAIL, "|$sendmail_cmd") or die "$sendmail_cmd [$!]";

my $text =<<E_O_M;
From: <$from>
To: $to
Cc: $cc
Subject: $subject
Content-Transfer-Encoding: 7bit
Content-type: text/plain;charset="ISO-2022-JP"

$message
E_O_M

print $SENDMAIL $text;

close($SENDMAIL);

スクリプトのパーミッションの実行フラグ

スクリプトのパーミッションの実行フラグを立てます。

chmod +x mail.pl


実行方法

./mail.pl


スポンサーリンク
スポンサーリンク
 
いつもシェア、ありがとうございます!


もっと情報を探しませんか?

関連記事

最近の記事

人気のページ

スポンサーリンク
 

過去ログ

2020 : 01 02 03 04 05 06 07 08 09 10 11 12
2019 : 01 02 03 04 05 06 07 08 09 10 11 12
2018 : 01 02 03 04 05 06 07 08 09 10 11 12
2017 : 01 02 03 04 05 06 07 08 09 10 11 12
2016 : 01 02 03 04 05 06 07 08 09 10 11 12
2015 : 01 02 03 04 05 06 07 08 09 10 11 12
2014 : 01 02 03 04 05 06 07 08 09 10 11 12
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12

サイト

Vim入門

C言語入門

C++入門

JavaScript/Node.js入門

Python入門

FreeBSD入門

Ubuntu入門

セキュリティ入門

パソコン自作入門

ブログ

トップ


プライバシーポリシー