PHPMailer でメールを送信する場合、Cron ジョブには MTA が必要ですか?

PHPMailer でメールを送信する場合、Cron ジョブには MTA が必要ですか?

提出期限が近づいたときにユーザーに電子メールアラートを送信するために、CRON ジョブを使用しています。しかし、最初に簡単な電子メールを送信してテストしたい場合、(CRON) info (No MTA installed, discarding output)に表示され続けますsyslog。しかし、URL を使用して PHP スクリプトを実行すると、電子メールを送信できます。

そこで質問なのですが、PHPMailer でメールを送信するために CRON ジョブを実行する場合、Web サーバーに MTA をインストールする必要がありますか?

これが私のcrontabコードです:

* * * * * /var/www/html/test.php (cmd1;  cmd2) 2>&1 | logger -t mycmd

これが私のtest.phpコードです:

<?php

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require '/usr/share/php/libphp-phpmailer/src/Exception.php';
require '/usr/share/php/libphp-phpmailer/src/PHPMailer.php';
require '/usr/share/php/libphp-phpmailer/src/SMTP.php';

require '/usr/share/php/libphp-phpmailer/autoload.php';

// Set the script time zone to UTC
date_default_timezone_set('Etc/UTC');

function sendMail($email, $message, $subject) {
    $mail = new PHPMailer();

    // set up for the SMTP and used account
    $mail->isSMTP();
    $mail->Host = 'smtp.gmail.com';
    $mail->SMTPAuth = true;
    $mail->Username = '[email protected]';
    $mail->Password = 'password';
    $mail->Port = 587;
    // Disable some SSL check
    $mail->SMTPOptions = array(
        'ssl' => array(
            'verify_peer' => false,
            'verify_peer_name' => false,
            'allow_self_signed' => true
        )
    );

    // sender, recipient, reply-to etc
    $mail->SetFrom('[email protected]', 'Reply-to');
    $mail->addAddress("$email");
    $mail->IsHTML(true);

    // email contains
    $mail->Subject = "$subject";
    $mail->Body = $message;

    // send email
    $mail->send();
}

sendMail("[email protected]", "Hello World!", "Test");
?>

関連情報