LoginSignup
2
2

More than 5 years have passed since last update.

PHPMailerを5.1から6.0.0にアップグレード

Last updated at Posted at 2017-11-26

何をしようとしているか

PHPのバージョンを5.3.xから7.1.xまで上げたので、同時にPHPMailerのアップグレードをしたい
ちなみに、特にこれといって躓いたところはなかったけれど、作業記録として残しておく

コンテキストとゴール

PHPMailerからは基本的な機能しか使用していない
通常のテキストメールとファイルの添付くらい

アップグレード時に最適化などをするつもりもなく、これまでと同等の処理が行えればOKとした

どう解決したか

class.phpmailer.phpを読み込んでいたところを下記に置き換え
require_once('extensions/PHPMailer/PHPMailer.php');

new PHPMailerでエラーがでるので、下記を追加
use PHPMailer\PHPMailer\PHPMailer;

public function getSMTPInstance()でエラーが出るので、下記を追加
require_once('extensions/PHPMailer/SMTP.php');

とりあえず、ここまでで正常系テストでメール送信できたことを確認できた。
続いて、host指定時に空文字列の状態にしてテストすると、Exceptionをcatchできずに落ちたので、下記を追加
require_once('extensions/PHPMailer/Exception.php');
それからcacthの部分を、

try {
    // なんらかの処理
} catch (phpmailerException $e) {
    echo $e->errorMessage();
} catch (Exception $e) {
    echo $e->getMessage();
}

から

try {
    // なんらかの処理
} catch (Exception $e) {
    echo $e->errorMessage();
} catch (\Exception $e) {
    echo $e->getMessage();
}

という感じに変更
あと、use PHPMailer\PHPMailer\Exception;は特に必要なかったはずだけど、念のため記述はしておいて完了とした

参考URLなど

ここに書いてあることをやっていれさえいれば、特に問題なかった
https://github.com/PHPMailer/PHPMailer/blob/master/UPGRADING.md

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2