我无法在 Elastix 上通过 php 发送电子邮件
I can't send email via php on Elastix
我正在尝试通过 php 在 Elastix 上发送电子邮件。
当我 运行 将 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");
?>
我认为与权限有关,因为当我 运行 它在我的命令行上时,输出是:
root
电子邮件已发送。但是当我尝试通过 Web 打开文件时,我没有发送任何内容,接下来的输出是:
Asteriks
所以我试图给 Asteriks root 权限,但它不起作用:(。
在另一个尝试中,我下载了 PHPMailer 库,但我没有发送电子邮件。我尝试使用 Xampp 在 Windows 上执行此操作并且它有效并且与 PHP (5.1.6).
的版本相同
这是我的PHP邮寄代码:
<?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
有什么帮助吗?
所以,我终于可以通过 PHP 发送电子邮件了。
PHPMailer 库在 PHP 5.1.6 上无法正常工作
所以我尝试了几次,因为(最终)给我的错误是:
Parse error: syntax error, unexpected T_FUNCTION in
var/www/html/[...]/class.phpmailer.php on line 3040
所以我偶然得到了class.phpmailer.php的代码:
/**
* Clear queued addresses of given kind.
* @access protected
* @param string $kind 'to', 'cc', or 'bcc'
* @return void
*/
protected function clearQueuedAddresses($kind)
{
//if (version_compare(PHP_VERSION, '5.3.0', '<')) {
$RecipientsQueue = $this->RecipientsQueue;
foreach ($RecipientsQueue as $address => $params) {
if ($params[0] == $kind) {
unset($this->RecipientsQueue[$address]);
}
}
//} else {
// $this->RecipientsQueue = array_filter(
// $this->RecipientsQueue,
// function ($params) use ($kind) {
// return $params[0] != $kind;
// });
//}
}
我正在尝试通过 php 在 Elastix 上发送电子邮件。 当我 运行 将 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");
?>
我认为与权限有关,因为当我 运行 它在我的命令行上时,输出是:
root
电子邮件已发送。但是当我尝试通过 Web 打开文件时,我没有发送任何内容,接下来的输出是:
Asteriks
所以我试图给 Asteriks root 权限,但它不起作用:(。 在另一个尝试中,我下载了 PHPMailer 库,但我没有发送电子邮件。我尝试使用 Xampp 在 Windows 上执行此操作并且它有效并且与 PHP (5.1.6).
的版本相同这是我的PHP邮寄代码:
<?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 有什么帮助吗?
所以,我终于可以通过 PHP 发送电子邮件了。 PHPMailer 库在 PHP 5.1.6 上无法正常工作 所以我尝试了几次,因为(最终)给我的错误是:
Parse error: syntax error, unexpected T_FUNCTION in var/www/html/[...]/class.phpmailer.php on line 3040
所以我偶然得到了class.phpmailer.php的代码:
/**
* Clear queued addresses of given kind.
* @access protected
* @param string $kind 'to', 'cc', or 'bcc'
* @return void
*/
protected function clearQueuedAddresses($kind)
{
//if (version_compare(PHP_VERSION, '5.3.0', '<')) {
$RecipientsQueue = $this->RecipientsQueue;
foreach ($RecipientsQueue as $address => $params) {
if ($params[0] == $kind) {
unset($this->RecipientsQueue[$address]);
}
}
//} else {
// $this->RecipientsQueue = array_filter(
// $this->RecipientsQueue,
// function ($params) use ($kind) {
// return $params[0] != $kind;
// });
//}
}