2011-01-10 9 views
22

私はPHPを学び、自分のコンピュータにXamppをインストールしました。xamppのPHPメール設定

しかし、電子メールオプションが機能していないため、セットアップに問題があります。

は、いくつかの読み取りを行った後、私はそれが以下とは何かを持っていると思う、php.iniファイルに自分のサーバに見つから

[mail function] 
; For Win32 only. 
; *hp://*php.net/smtp 
SMTP = localhost 
; http://php.net/smtp-port 
smtp_port = 25 

; For Win32 only. 
; http://php.net/sendmail-from 
;sendmail_from = [email protected] 

[私は HP上で変更されていますのでご注意ください:// http://からハイパーリンクを投稿するためにこのウェブサイトに制限があるため]

私は変更が必要ですか?私はswiftmailerのようなソフトウェアを見てきましたが、Xamppにこれが既に含まれているかどうかわかりません。 ヒントをいただければ幸いです!

おかげ ジェームズ

+6

Xamppには水銀が含まれています。それを設定しましたか?私は、ドキュメントには、それとPHPの作業についての章も含まれていると思います。 –

答えて

13

私のお気に入りのSMTPサーバーがhMailServerです。

Windowsにやさしいインストーラとウィザードがあります。私が設定した最も簡単なメールサーバーを手に入れよう。

gmail/yahoo/etcアカウントを介してプロキシするか、直接メールを送信することができます。

インストールされると、xamppの電子メールは設定変更なしで動作します。

+1

こんにちはバイロンは、hMailserverプロキシを設定してGmailやYahooにメールを送る方法についてのチュートリアルはありますか? – jasper

+0

これはウィンドウにのみ関連していますか? –

+0

@ByronWhitlockはLinux用の代替手段です –

5

ローカルコンピュータにメールサーバーが設定されていない限り、SMTP = localhostを設定しても効果はありません。

(昔前)、SMTPの値をISPのSMTPサーバーのアドレスに設定するだけで十分でした。これはほとんどのISPがユーザー名とパスワードによる認証を主張しているため、ほとんど機能しません。ただし、PHPのmail()関数はSMTP認証をサポートしていません。ローカルサーバーのメール転送エージェントと直接連携するように設計されています。

ローカルメールサーバーを設定するか、Zend_MailやPHPMailerなどのSMTP認証をサポートするPHPクラスを使用する必要があります。ただし、最も簡単な解決策は、メール処理スクリプトをリモートサーバーにアップロードすることです。

7

XAMPPには "偽の" sendmailプログラムが付いているはずです。その場合は、あなたにもsendmailを使用することができます。

[mail function] 
; For Win32 only. 
; http://php.net/smtp 
;SMTP = localhost 
; http://php.net/smtp-port 
;smtp_port = 25 

; For Win32 only. 
; http://php.net/sendmail-from 
;sendmail_from = [email protected] 

; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). 
; http://php.net/sendmail-path 
sendmail_path = "C:/xampp/sendmail/sendmail.exe -t -i" 

Sendmailはそれでsendmail.iniを持っている必要があります。 、任意のアカウント名とACCOUNTNAME_HEREを置き換える(例えばGmailやHotmailのような)有効な電子メールでEMAIL_HEREを交換し、あなたの電子メールをパスワードでPASSWORD_HEREを置き換える、もちろん

# Example for a user configuration file 

# Set default values for all following accounts. 
defaults 
logfile "C:\xampp\sendmail\sendmail.log" 

# Mercury 
#account Mercury 
#host localhost 
#from [email protected] 
#auth off 

# A freemail service example 
account ACCOUNTNAME_HERE 
tls on 
tls_certcheck off 
host smtp.gmail.com 
from EMAIL_HERE 
auth on 
user EMAIL_HERE 
password PASSWORD_HERE 

# Set a default account 
account default : ACCOUNTNAME_HERE 

:それはとてもとして設定する必要があります。今、あなたはメールを送ることができるはずです。 PHPの変更を有効にするには、コントロールパネルまたはバッチファイルからApacheを再起動することを忘れないでください。