2011-09-11 16 views
0
<?php 
    $to = "[email protected]"; 
    $subject = "Test mail"; 
    $message = "Hello! This is a simple email message."; 
    $from = "[email protected]"; 
    $headers = "From:" . $from; 
    mail($to,$subject,$message,$headers); 
    echo "Mail Sent."; 
?> 

私はこれらのスクリプトを実行すると、私は私が今何をすべきか下記の警告は何を意味しますか?

Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" 
port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() 
in C:\xampp\htdocs\website\mail.php on line 7 

これらのエラーを取得しますか?誰も私にそれをする方法を教えてもらえますか?私はファイルを見つけましたが、更新する必要のあるフィールドは何ですか?私はこれらを貼り付けて保存するためにいくつかのコードを提案できますか?

+0

localhost上で実行されているSMTPサービスはありますか? PHPコードが正常に1つに接続しようとしていますが、1つも実行されていないようです。 – David

+0

これは、ローカルマシン上のメールサーバに接続するようにphpが設定されていることを示しています。あなたはPHPに嘘をつきました、そして今あなたは処罰されています:P –

+0

私は何をしなければなりませんか?あなたは私に解決策を教えてくれますか? – niko

答えて

1

SMTP電子メールを送信するために、動作中のSMTPサービスを使用するようにPHPを設定する必要があります。件名を説明するarticleです。

基本的に、PHPインスタンスのSMTP設定では、localhostを指すデフォルト値が使用されているようです。しかし、ローカルコンピュータはSMTPサービスを実行していないようです。だから、あなたが1つを実行しているサーバーと、あなたのアプリケーションが使用を許可されているサーバーを指す必要があります。

2

有効なsmtpサーバーと電子メールアドレスでphp.iniを設定する必要があります。

1

は私がもしそうなら、私はあなたがGmailのSMTPサーバを経由して電子メールを送信しようとしていると思います

...この質問はyour other questionと同じであることを推測します。彼らのサーバは認証を必要としますが、PHPのメール機能はそれをサポートしていません。 他の質問で私があなたに答えたので、Zend_Mailを使ってこれを行うことができます。他の質問の例のようにPEAR Mailを使うこともできます。 どちらの方法でも、外部ファイルをダウンロードしてコードに組み込んで使用する必要があります。

関連する問題