2012-03-12 13 views
1

私はこのラックスペースサーバを持っており、そこにsendmailをインストールしました。 sendmailはsendgridを使用して電子メールを送信するように設定されています。phpメールがラックスペースクラウド上で動作しません

したがって、sendmailは端末経由で動作しますが、php mail関数はfalseを返し、メールを送信しません。 sendmailのパスもphp.iniに正しく設定されています。

私は(のphpinfoを取るとき、私は、に/etc/php.iniに

sendmail_path = /usr/sbin/sendmail 

これを持っている)

<?php 

phpinfo() 

を使用して、それはだここhttp://www.rackspace.com/knowledge_center/article/how-do-i-test-php-smtp-functionalityから

sendmail_path = /usr/sbin/sendmail 
+0

2つの迅速なアイデア:configファイルをリロードするとどのような権限本当にあなたの権限 – Cameron

+0

権限をダブルチェック? – nivanka

+0

編集中の 'php.ini'を使っていることを確認します。' phpinfo() 'が表示されているときに' php.ini'が '/ etc/php.ini'として表示されていることを確認してください。この問題は、serverfault.com – MrCode

答えて

2

を返します。彼らが参照するコードは、あなたのメールをRackspace Cloudサイトで作業するために使用します...

非SSL

<?php 
require_once "Mail.php"; 


$from = "Web Master <[email protected]>"; 
$to = "Nobody <[email protected]>"; 
$subject = "Test email using PHP SMTP\r\n\r\n"; 
$body = "This is a test email message"; 

$host = "mail.emailsrvr.com"; 
$username = "[email protected]"; 
$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 <[email protected]>"; 
$to = "Nobody <[email protected]>"; 
$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 = "[email protected]"; 
$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 function not sending emails/taking too long to send emails

彼らは問題が何であるかのいくつかを示唆しています。

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

+0

これは理論的に質問に答えるかもしれませんが、私たちはあなたの答えにリンクされた記事の重要な部分を含めることを望みます。 [参考のためのリンク](http://meta.stackexchange.com/q/8259)を提供してください。そうしないと、リンク腐敗の危険があります。 – Kev

+0

申し訳ありませんKev、あなたのリクエストを反映するために投稿を更新しました。 – Xedecimal

+0

非常に感謝しています。ありがとう。 – Kev

関連する問題