忍者ブログ
[592] [591] [590] [589] [588] [587] [586] [585] [584] [583] [582
カレンダー
06 2024/07 08
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
カテゴリー
最新コメント
最新トラックバック
バーコード
ブログ内検索
アクセス解析
7月からの仕事のプログラムはメールの送信や、メールに添付するファイルをコピーしたり、圧縮したり、パーミッションの設定をしていました。
このプログラムのメールの送信はmb_sendmail関数やPEAR::Mailを使っておらず、jphpmailerというものを使っていました。
家でもjphpmailerを使ってみました。
jphpmailerの使い方をインターネットで調べるとPHPMailer本体が別途必要です。と書かれていたのでPHPMailerとJPHPMailer
をダウンロードして、インストールしました。

PHPMailerのダウンロード
1.PHPMailerの左上の..read moreをクリック
2.左上のDownloadの一覧のPHPのバージョンに対応した箇所((例)» PHPMailer for PHP4» PHPMailer for PHP5/6)をクリック
3.Browse Files for PHPMailerの一番上((例)phpmailer for php5_6)のNotes/Subscribeのオレンジの箇所をクリック
4.一番上のzipファイル((例)/phpmailer for php5_6/PHPMailer v5.1/PHPMailer_v5.1.zip)をクリック

ダウンロードした後でphp.iniでinclude_path = ".;C:\xampp\php\PEAR;C:xampp\includes"にしました。
php.iniで設定したパス(C:xampp\includes)にダウンロードしたファイルをコピーしましたが、上手く行きませんでした…。
インターネットで調べるとjphpmailer.phpの中にphpmailerを読み込むためのrequireがあるので、それを、きちんとした場所に指定し直してやらなければならないのである。と書かれていたので、jphpmailer.phpの15行目をrequire("class.phpmailer.php");にしたら、インクルードは上手く行ったのですが、Could not instantiate mail function.というメッセージが表示されたので、インターネットで調べるとSMTP認証が必要だとか、
・リレーメールが制限されているとか書かれていたので、一旦は諦めましたが、7月からの仕事のプログラムでは$mail->SMTPAuth = false;と書かれていたので、認証出来るようにすればいいと思い、インターネットで調べて、認証出来るようにしたら上手く行きましたが、文字化けが発生したので今回の仕事に向けてPHPの勉強をしていた時にPHPの勉強で、メールを送る事をしていたので、このプログラムを見て、参考にしたら上手く行きました。

<?php
//===========================================
// ●メールの送信
//===========================================
require_once("jphpmailer.php");
mb_language("ja");
mb_internal_encoding("sjis");

//日本語添付メールを送る
$to = "sample@sample.co.jp"; //宛先
$subject = "例の件について"; //題名
$body = "資料を送ります\r\nあああ\r\nいいい"; //本文
$from = "sample@sample.co.jp"; //差出人
$fromname = "サンプル"; //差し出し人名


$mail = new PHPMailer();

$mail->do_debug = TRUE;
$mail->IsSMTP();

$mail->Host = "smtp.mail.sample.co.jp";
$mail->SMTPAuth = true;
$mail->Username = "sample";
$mail->Password = "password";


$mail->CharSet = "iso-2022-jp";
$mail->Encoding = "7bit";

$mail->AddAddress($to);
$mail->From = $from;
$mail->FromName = mb_encode_mimeheader($fromname);
$mail->Subject = mb_encode_mimeheader($subject);
$mail->Body = mb_convert_encoding($body,"ISO-2022-JP","auto");

if (!$mail->Send()){
echo("メールが送信できませんでした。エラー:".$mail->ErrorInfo);
}else{
echo("送信成功!");
}

?>

メールに添付するファイルをコピーしたり、圧縮したり、パーミッションの設定はUNIXコマンドで行っていました。

(例)exec(UNIXコマンド);

PHPで日本語メールを送る – 応用編 (添付ファイル、HTMLメール)
http://techblog.ecstudio.jp/tech-tips/mail-japanese-advance.html

PHPから日本語メールを適切に送る方法。
http://d.hatena.ne.jp/ymlab/20070811

[symfony] Could not instantiate mail function.
http://www.pistolfly.jp/weblog/2007/01/could-not-instantiate-mail-fun.html

PHPでメールする際のエラーについて
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1128942246

メールフォーム - PHPmailer+xajax
http://saboten009.blogspot.com/2009/02/phpmailerxajax.html

chmod 777ってどういう意味なんですか?
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q104724270

UNIXの部屋 コマンド検索: cp
http://x68000.q-e-d.net/~68user/unix/pickup?cp

UNIXの部屋 コマンド検索: zip
http://x68000.q-e-d.net/~68user/unix/pickup?zip
PR
この記事にコメントする
name
title
color
mail
URL
comment
pass   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
secret (チェックを入れると管理人だけに表示できます)
この記事へのトラックバック
この記事にトラックバックする:
Powered by Ninja Blog    template by Temp* factory    icon by MiniaureType

忍者ブログ [PR]