【PHP】SMTPメールの送信

web開発

概要

SMTPメールの送信を行います。

【PHPMailer】さくらインターネットのメールアドレスで送信する方法
本記事では、PHPMailerというライブラリを使って、さくらインターネットで作成したメールアドレスでメールを送信する方...

内容

php.iniには設定不要で、PHPMailerをインストールすればすぐに利用できます。

(1)PHPMailerのダウンロード

GitHub - PHPMailer/PHPMailer: The classic email sending library for PHP
The classic email sending library for PHP. Contribute to PHP...

(2)PHPMailerの配置

PHPMailerを任意の場所に配置します。ここでは以下のように配置します。

/home/hogehoge/www/xxxx.xxxxx.jp/PHPMailer

(3)メールの送信

<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require '/home/hogehoge/www/xxxx.xxxxx.jp/PHPMailer/src/Exception.php';
require '/home/hogehoge/www/xxxx.xxxxx.jp/PHPMailer/src/PHPMailer.php';
require '/home/hogehoge/www/xxxx.xxxxx.jp/PHPMailer/src/SMTP.php';

$mail = new PHPMailer(true);
try {
     //ホスト(レンタルサーバのドメイン)
    $host = 'XXX.XXXX.XX.jp';
    //メールアカウントの情報
    $user = 'YYYY@pZZZZ.jp';
    $password = 'AAAAAAAA';
    //差出人
    $from = 'test@test.jp';
    $from_name = '名前1';
    //宛先
    $to = 'test_to@CCCCC.com';
    $to_name = '名前2';
    //件名
    $subject = 'テスト';
    //本文
    $body = 'テストです';
    //諸々設定
    $mail->isSMTP();
    $mail->SMTPAuth = true;
    $mail->Host = $host;
    $mail->Username = $user;
    $mail->Password = $password;
    $mail->SMTPSecure = 'tls';
    $mail->Port = 587;
    $mail->CharSet = "utf-8";
    $mail->Encoding = "base64";
    $mail->setFrom($from, $from_name);
    $mail->addAddress($to, $to_name);
    $mail->Subject = $subject;
    $mail->Body = $body;
    //メール送信
    $mail->send();
} catch (Exception $e) {
    echo '失敗: ', $mail->ErrorInfo;
}

?>