PHPで日本語メールを送信する

もう8月も終わりが近いというのに 気づいてみれば ナント今月初めての投稿になりました。
実は脱Microsoft(??)の一歩として ASP.Netで現役時代に作ったサイトの PHP化に夢中になっていました。本来であれば いきなりLinux + Apache + MySQL + PHP であれば大手を振って  脱Microsoftの第一歩といえるのですが Win2012 + IIS + SqlServer + PHP で 半歩ほど踏み出そうかと

そこで 一番手間取ったSMTP経由での日本語メールの送信について 備忘録
SMTP経由での日本語メールの送信は以下の手順で実装しました。

  1. PEARのインストール
  2. Mailパッケージ Mail MIME パッケージのインストール
  3. QdmailおよびQdsmtpのインストール 

  1. PEARのインストール
    SMTP経由で Mailを送信するには PEARのインストールが必要です。
    いろいろなサイトを見ると(例えば ここ)PHPのインストールフォルダの go-pear.bat をコマンドプロンプトから実行してインストール と書いてありますが、自分がインストールした PHP5.4の場合 そのようなバッチファイルはどこを探しても 見当たりません。(お手上げ??)
    インストール方法を調べると ここに 載っていました。 

    ・ブラウザで http://pear.php.net/go-pear.phar にアクセスし go-pear.phar をダウンロードします。
    ・go-pear.pharを PHPのインストールフォルダにコピーします。
    ・コマンドプロンプト(管理者権限付き)を開き PHPのインストールフォルダに移動します。
    ・コマンド php go-pear.phar を実行します。
     途中で確認応答を求められますが 全てDefaultで進めます。
    ・インストールフォルダに作られた PEAR_ENV.reg をダブルクリックし レジストリに PHPの環境変数として PEARの設定を追加します。
    ・コマンドプロンプトで PHPのインストールフォルダに移動し setコマンドで 環境変数にPHP_PEARに関する項目が追加されていることを確認します。

  2. Mailパッケージ および Mail MIME パッケージのインストール

    ・コマンドプロンプトを開き PHPのインストールフォルダに移動します。
    pear install -a Mail と入力し Mailパッケージのインストール をインストールします。
    pear install -a Mail_MIME と入力し Mail MIMEパッケージのインストール をインストールします。

    この状態で ここを参考に日本語のメールを作成し、自分宛にメールを送信したところ 確かに メール本文・件名・宛名等々は日本語になったが なぜかThunderbirdのポップアップに表示される 本文の要約が文字化け!! きょっと気味が悪い そこでQDmailをインストールすることに

  3. QDmailおよびQdsmtpのインストール
    ここから qdmail.1.2.6b.zip また ここから qdsmtp.0.2.0a.zip をダウンロードし、それぞれ解凍後 qdmail.php および qdsmtp.phpをプログラム のフォルダに配置します。
    ところが、ここを参考にサンプルプログラムを作成してテストするとqdmail.phpでエラーが多発!!
    やはり同じような現象に出くわした先人がいて ここにその対処方法が・・・ 
    661,3677,3771,3820行目で  Deprecated: Assigning the return value of new by reference is deprecated 
     &= を =に変更
    3734行目で Strict Standards: Declaration of QdmailComponent::smtpObject() should be compatible with that of QdmailBase::smtpObject()
     3761行目の smtpObject() をsmtpObject( $null = false ) に変更

    これで正常にメールが送信されるようになりました。 


参考にしたサイト
http://www.ah-2.com/2012/08/09/pear_install_win_no_gopear.html
http://www.phpbook.jp/pear/pear_mail/index1.html
http://www.phpbook.jp/pear/pear_mail/index5.html
http://qiita.com/tsunet111/items/0ba0e8fc61882c3905c0
http://blog.livedoor.jp/orgf/archives/27922540.html
http://www.phpbook.jp/install/phpini/index5.html
http://hal456.net/qdmail/

スポンサーリンク
Rectangle大広告
Rectangle大広告

シェアする

  • このエントリーをはてなブックマークに追加

フォローする