2012-01-22 9 views
4

Windows 7 PCにApacheとPHPをインストールしました。私は今、PHPを学んでいます。以下は私のPHPスクリプトによる電子メールの送信です。ApacheサーバーからPHPスクリプトで電子メールを送信する方法

<?php 
    if(isset($_REQUEST['email'])) 
    { 
     $email = $_REQUEST['email']; 
     $subject = $_REQUEST['subject']; 
     $message = $_REQUEST['message']; 
     mail("[email protected]","$subject","$message","From:","$email"); 
     echo "Thank you for using the email !!!"; 
    } 
    else 
    { 
     echo "Mail is not set properly. Please fill the form properly"; 
    } 
?> 

私は電子メールを送信するための必須パラメータを取得するためにhtml形式を使用しています。以下は私が電子メールを送信している間に得ているエラーです。

警告:メール()[function.mail]:)( "localhost" をポート25、あなたの "SMTP" を確認し、 "SMTP_PORTを" php.iniの設定やini_set使用 でメールサーバへの接続に失敗しました。 Cで:ライン7

の\ WebLearn \ Apacheの-2.2 \ htdocsに\ SimpleWebsite \ contact.phpは、私は、php.iniファイルまたはhttpd.confの設定には何も設定する必要がありますか?はいの場合はどのように設定するのですか?電子メールを送信するために私のPCに追加のSMTPサーバーが必要ですか?私のローカルPCから電子メールを送信するために必要な手順を提案してください。

答えて

6

メッセージには、localhost:25に電子メールを配信しようとしているというメッセージがあり、そこには何も聞こえません。

PHPは "インターネット"に直接メールすることはできません。メッセージは、PostfixやSendmail、SSMTPなどのメールサーバープログラムに送られ、適切な宛先に中継されなければなりません。

メールサーバープログラムをインストールして構成し、php.iniで使用するようにPHPを設定する必要があります。 SMTP配信の代わりにSendmailバイナリを使用するようにPHPを設定するオプションもあります。

+0

また、SMTPサービス用にApacheサーバーを設定することはできますか?または、私はこれのためにインストールする必要がある他のSMTPサーバーがありますか?無料のSMTPサーバーがありますか? –

+1

@Surjya Narayana Padhi:いいえ、ApacheはHTTPサーバーであり、SMTPサーバーではありません。私はすでに私の応答で3つの無料のSMTPサーバーについて言及しました。 – Borealid

+0

ありがとうございました。私はSendMailを使用する予定です。私のsendMailプログラムを使用するようにPHPを設定する手順を教えてください。 –