[PHP-dev 1145] Pear mime-addAttachment で添付メールを送る

佐々木 紫乃 shinotyan @ hotmail.com
2005年 6月 15日 (水) 19:29:54 JST


はじめまして。佐崎と申します。php初心者です。
いつもこのサイトを参考にさせていただいており大変助かっています。

PearのMail mime->addattachmentを使用して、添付ファイル付メールを
送りたいのですが、うまくいきません。良いアドバイスをお願いします。

環境
windows2000/Linux /PHP Version 4.3.8/Pear 
Mail.php,v 1.9/mime.php,v 1.35
------------------------------------------------

require_once('Mail/Mail-1.1.4/Mail.php');
require_once('Mail_Mime/mime.php');

$to = "hoge @ hoge.co.jp";
$from = "from @ hoge.com";
$subject = "To Administrator";
$attachment="/home/dir・・・/applicants.csv";
$html = '<html><body>HTML version of email</body></html>';
$crlf = "\r\n";
$headers = array('From'=>$from,'Subject'=>$subject);

$textMessage ="あああDear Sir/Madam:\n\n";

$mime = new Mail_mime($crlf);

$mime->_build_params['text_encoding'] ='quoted-printable';
$mime->_build_params['text_charset'] = "ISO-2022-JP";
$mime->_build_params['html_charset'] = "ISO-2022-JP";

$mime->setTXTBody($textMessage);
$mime->setHTMLBody($html);
$mime->addAttachment($attachment,'application/x-csv','applicants.csv',true,'base64');

$body = $mime->get();
$hdrs = $mime->headers($headers);
$body = mb_convert_encoding($body, "JIS","EUC-JP");
$mail = & Mail::factory('mail');
$mail->send($to,$hdrs,$body);

------------------------------------------------
使用しているメーラーはMozilla Thanderbird ver.1.0です。
現象として、メールは送られるのですが、本文が真っ白です。
添付されているマークはでますが、添付ファイルはついていません。
メール件名、差出人、宛先はきちんと表示されています。
以下がメールソースです。

Outlook2000:添付ファイルなし、以下メールソース6行目以降がメール本文の内容と
なる
hotmail:きちんと本文も表示(HTMLバージョンの本文)、添付ファイルもついてき
た(問題なし)

テキスト形式でのメール送信がうまくいっていないとおもわれます。
良いアドバイスをお願いします。

--メールソース--
To: hoge @ hoge.co.jp
Subject: To Administrator
MIME-Version: 1.0
From: from @ hoge.com
Content-Type: multipart/mixed;
boundary="=_0fcdfae888fc31777ccc1c196dd64403"

--=_0fcdfae888fc31777ccc1c196dd64403
Content-Type: multipart/alternative;
boundary="=_6c439d99379e52e28765a4c04fe854ba"

--=_6c439d99379e52e28765a4c04fe854ba
Content-Type: text/plain; charset="ISO-2022-JP"
Content-Transfer-Encoding: quoted-printable
=A4=A2=A4=A2=A4=A2Dear Sir/Madam:

--=_6c439d99379e52e28765a4c04fe854ba
Content-Type: text/html; charset="ISO-2022-JP"
Content-Transfer-Encoding: quoted-printable
<html><body>HTML version of email</body></html>
--=_6c439d99379e52e28765a4c04fe854ba--

--=_0fcdfae888fc31777ccc1c196dd64403
Content-Type: application/x-csv
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="applicants.csv"

Tk8uLFByZXNlbnRhdGlvbiBUaX・・・




PHP-dev メーリングリストの案内