PHP почта не работает в облаке RackSpace

У меня есть этот сервер стойки, и я установил sendmail там. sendmail настроен на отправку писем с использованием sendgrid.

поэтому sendmail работает через терминал, но функция php mail возвращает false и не отправляет никаких писем. Путь sendmail также правильно указан в php.ini.

У меня есть это в /etc/php.ini,

sendmail_path = /usr/sbin/sendmail

когда я беру phpinfo() используя

<?php

phpinfo()

это возвращается

sendmail_path = /usr/sbin/sendmail 

1 ответ

На http://www.rackspace.com/knowledge_center/article/how-do-i-test-php-smtp-functionality приведен код, на который они ссылаются, чтобы ваши письма работали на сайтах Rackspace Cloud...

Non-SSL

<?php
require_once "Mail.php";


$from = "Web Master <webmaster@example.com>";
$to = "Nobody <nobody@example.com>";
$subject = "Test email using PHP SMTP\r\n\r\n";
$body = "This is a test email message";

$host = "mail.emailsrvr.com";
$username = "webmaster@example.com";
$password = "yourPassword";

$headers = array ('From' => $from,
  'To' => $to,
  'Subject' => $subject);
$smtp = Mail::factory('smtp',
  array ('host' => $host,
    'auth' => true,
    'username' => $username,
    'password' => $password));

$mail = $smtp->send($to, $headers, $body);

if (PEAR::isError($mail)) {
  echo("<p>" . $mail->getMessage() . "</p>");
} else {
  echo("<p>Message successfully sent!</p>");
}

С SSL

<?php
require_once "Mail.php";

$from = "Web Master <webmaster@example.com>";
$to = "Nobody <nobody@example.com>";
$subject = "Test email using PHP SMTP with SSL\r\n\r\n";
$body = "This is a test email message";

$host = "ssl://secure.emailsrvr.com";
$port = "465";
$username = "webmaster@example.com";
$password = "yourPassword";

$headers = array ('From' => $from,
  'To' => $to,
  'Subject' => $subject);
$smtp = Mail::factory('smtp',
  array ('host' => $host,
    'port' => $port,
    'auth' => true,
    'username' => $username,
    'password' => $password));

$mail = $smtp->send($to, $headers, $body);

if (PEAR::isError($mail)) {
  echo("<p>" . $mail->getMessage() . "</p>");
} else {
  echo("<p>Message successfully sent!</p>");
}
?>

Актуальный вопрос

функция php mail не отправляет письма / слишком долго отправляет письма

Также здесь они предлагают некоторые из того, что проблема.

http://www.joshuawinn.com/huge-email-delays-on-rackspace-cloud-sites-dont-use-php-mail

Другие вопросы по тегам