PHP: 如何使用PHPMailer
在这里,我们使用了 SwiftMailer,但是现在要尝试使用 PHPMailer。
安装图书馆
sudo apt install libphp-phpmailer
composer require vlucas/phpdotenv
#! /usr/bin/php
<?php
// ------------------------------------------------------------------
// phpmailer_ex01.py
//
// Apr/19/2021
//
// ------------------------------------------------------------------
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;
require '/usr/share/php/libphp-phpmailer/autoload.php';
require_once './vendor/autoload.php';
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
$dotenv->load();
$from = $_ENV['FROM'];
$to = $_ENV['TO'];
date_default_timezone_set('Asia/Tokyo');
$today = date ("Y-m-d");
$now = date("Y年m月d日 H時i分s秒");
$mailer = new PHPMailer;
$mailer->IsSMTP();
$mailer->Host = $_ENV['SERVER'];
$mailer->SMTPAuth = true;
$mailer->Username = $_ENV['USR'];
$mailer->Password = $_ENV['PASSWORD'];
$mailer->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
$mailer->Port = $_ENV['PORT'];
$mailer->CharSet = 'utf-8';
$str_out = "";
$str_out .= 'This is TEST.' . PHP_EOL;
$str_out .= 'こんにちは。' . PHP_EOL;
$str_out .= '晴れています。' . PHP_EOL;
$str_out .= $today . PHP_EOL;
$str_out .= $now . PHP_EOL;
$mailer->setFrom($from);
$mailer->addAddress($to);
$mailer->Subject = 'Test Apr/19/2021 ' . date ("H:i:s") ;
$mailer->Body = $str_out;
if(!$mailer->send()) {
echo 'Email is not sent.\n';
echo 'Email error: ' . $mailer->ErrorInfo;
} else {
echo '*** Email has been sent. ***' . PHP_EOL;
}
// ------------------------------------------------------------------
?>