Last Update: "2005/01/05 01:04:29 makoto"
mail
mime mail
Mime 形式のメールを送るコードを手軽に書くには、
PEAR に含まれる mime.php を使う方法と、mimePart.php を使う方法が
あります。その mimePart.php の中を読むと、これの方が、こまかい制御が出来
るという説明があります。それを使って見ます。試験用ですから、
送信内容などは全て固定です。
この例では、
本文と添付書類の中には日本語が書けますが、
From: Subject: については日本語は書けません。
この内容は EUC-JAPAN で保存します。
また
php を作る時
と /usr/pkg/etc/php.ini に
mbstring の設定
がされているものとしています。
赤字の部分は、受取人の指定ですので、
自分向に送られるように必ず設定(変更)して下さい。逆に言えば、それ以外は
そのままでも大丈夫です。
<!-- -*- PHP -*- -->
<!-- $Id: 5500.mimemail.html.ja,v 1.1.1.1 2008/03/12 10:52:30 makoto Exp $ -->
<html>
<head>
<title>メールの送信</title>
</head>
<body>
<?php
require_once 'Mail.php';
require_once 'Mail/mimePart.php';
$params['content_type'] = 'multipart/mixed';
$email = new Mail_mimePart('', $params);
$params['content_type'] = 'text/plain; charset=ISO-2022-JP';
$params['encoding'] = '7bit';
$body = 'test mail ここに日本語';
mb_convert_variables ( 'JIS', 'EUC-JP', $body);
$text = $email->addSubPart($body, $params);
$body = "
test test 1 2 3 5
1 2 3 6 test test
日本語
";
mb_convert_variables ( 'SJIS', 'EUC-JP', $body);
$params['content_type'] = 'application/zip';
$params['encoding'] = 'base64';
$params['disposition'] = 'attachment';
$params['dfilename'] = 'teststuff';
$attach =& $email->addSubPart($body, $params);
$email ->_headers['Subject'] = 'お問合せ';
$encoded = $email->encode();
$email ->_headers['Mime-Version'] = '1.0';
$SMTP = 'mail.example.com';
$parameter["host"] = $SMTP;
$parameter["port"] = 25;
$parameter["auth"] = FALSE;
$parameter["username"] = NULL;
$parameter["password"] = NULL;
$Mail =& Mail::factory("smtp", $parameter);
if(PEAR::isError($Mail))
exit("SMTPサーバーに接続できません。");
$body = $encoded['body'];
$recipients = 'hoge@example.com';
$headers = $encoded['headers'];
$headers['From'] = '"PHP Example" <hoge@example.com>';
$headers['To'] = 'Makoto Fujiwara <hoge@example.com>';
$headers['Subject'] = 'test';
if($Mail->send($recipients, $headers, $body))
echo "メールを送信しました。";
else
echo "メール送信に失敗しました。";
?>
|