2009-08-24 18 views
1

私は他のどのサーバでもうまく動作するシンプルなスクリプトを用意していますが、必要なものはありません。私のホスト上でPHP - mail()関数が動作しません

<?php 
$mail = mail('[email protected]', 'My Subject', 'msg'); 
?> 

ウェブホストプロバイダを呼び出そうとしましたが、それらにアクセスできませんでした。また、いくつかのアドバイスをGoogleに試してみましたが、誰も同じ問題を抱えているようです。

スクリプトにエラーメッセージは表示されません。何もしません。

問題が何か、または電子メールを送信するために他の方法を知っていますか?

ありがとうございました

+0

windowsまたはlinuxホスト? Windowsはそれを全く違った形で扱います –

+1

私は最終的にホスティングプロバイダに連絡しましたが、一部のメールでは動作することが判明しましたが、他のものでは...私のメールは[email protected](doesnťwork)です。 [email protected]上で動作します.. – Mike

+0

Duplicate(IMO):http://stackoverflow.com/questions/745690/reasons-why-php-mail-might-not-be-working – DisgruntledGoat

答えて

6

あなたのサーバーにsendmailが設定されていないようです。

あなたができることはf.e.でメールアカウントを作成することです。 gmail、yahooメールなどを使用し、Zend_Mailを使用して、SMTPを使用してこのアカウントからメールを送信します。

私は、Zend Frameworkのドキュメントからこのコード例を取っ:

$config = array('auth' => 'login', 
       'username' => 'myusername', 
       'password' => 'password'); 

$transport = new Zend_Mail_Transport_Smtp('smtp.gmail.com', $config); 

$mail = new Zend_Mail(); 
$mail->setBodyText('This is the text of the mail.'); 
$mail->setFrom('[email protected]', 'Some Sender'); 
$mail->addTo('[email protected]', 'Some Recipient'); 
$mail->setSubject('TestSubject'); 
$mail->send($transport); 

をこれは、SMTPを可能にする先在メールサーバを使用しているとして設定するsendmailを必要としません。

更新: SMTPはあなたのホストによってもブロックされている可能性があります。この場合、あなたは、単にその後、次のようになります。Zend_Mailを使用する設定に2つのエントリを追加することによって、SSLを使用しようとすることができます:

$config = array('auth' => 'login', 
       'username' => 'myusername', 
       'password' => 'password', 
       'ssl' => 'ssl', 
       'port' => 465); 

この情報がお役に立てば幸いです。

+0

多くのホステルがこれはスパマーを避けるためにあなたのドメイン外のsmtpサーバーを使用しています:) – Toto

2

エラーが発生した場合、スクリプトは必ずエラーを表示するとは限りません。$ mailは偽です。

いくつかの可能性

  • あなたのホストは、これらのポートをブロックしている場合があります。

  • あなたがphp.iniで

  • をあなたのメール設定を設定していない可能性がありますそのWindowsホストがphp mail manual pageを見てみましょう場合。この例では、余分なヘッダーを追加できることを示しています。ホストが接続するメールサーバーに特定の基本ヘッダーが必要な場合があります

0

このホスティング会社のみが回答できます。私たちは前提を作ることしかできません。

しかし、単にこのコードが他のホスティング企業と連携していて、このコードではない場合確かに設定上の問題です(php.ini、smtpゲートウェイ/サーバ、ローカルファイアウォールなど)。

格安ホスティング企業は、通常、非常に優れたサポートサービスを提供しています。 ;)だから、それらに到達しようと努力してください(大きな問題がある日を想像してください)。

0

可能であれば、サーバーが解決していることを確認してください。seznam.cz正しいIPアドレス。私は、サーバのDNSが特定のドメインをホストしていると思ったところで似たような問題を抱えていました。それを理解するために私たちにしばらくお待ちしております。

おそらくこの問題はありませんが、チェックしても問題ありません。

関連する問題