Elastixでphp経由でメールを送信しようとしています。php を ssh として実行すると動作しますが、Web (PHP) で実行しようとすると何も送信されません。これは私のコードです:
#!/usr/bin/php -q
<?php
echo shell_exec('whoami');
shell_exec("sudo sendEmail -f j.example@example.com -t example@example.com -u Subject -m Message-s example.com.mx -o tls=yes -xu j.user@example.com.mx -xp password");
?>
コマンドラインで実行すると出力が次のようになるため、アクセス許可について何かと思います。
根
とメールが送信されます。しかし、Web 経由でファイルを開こうとすると、何も送信されません。出力は次のとおりです。
アスタリスク
そこで、Asteriks にルート権限を与えようとしましたが、うまくいきません:(。別の試みとして、PHPMailer ライブラリをダウンロードしましたが、メールを送信しませんでした。Windows で Xampp を使用して実行しようとしたところ、動作しました。同じバージョンの PHP (5.1.6) です。
これは私の PHPMailer コードです:
<?PHP
$mail = new PHPMailer;
$mail->isSMTP();
$mail->Host = 'example.com';
$mail->SMTPAuth = true;
$mail->Username = 'example@example.com';
$mail->Password = 'password';
$mail->SMTPSecure = 'ssl';
$mail->Port = 465;
$mail->SMTPOptions = array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
)
);
$mail->From = 'example@example.com';
$mail->FromName = 'Name';
$mail->addAddress('example@example.com');
$mail->WordWrap = 50;
$mail->isHTML(true);
$mail->Subject = 'Here is the subject';
$mail->Body = 'This is the HTML message body <b>in bold!</b>';
if(!$mail->send()) {
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent';
}
?>
Windows では動作しますが、Elastix では動作しません。