2012-01-24 6 views
1

自分のローカルホストから電子メールを送信しようとしています。私のGmailアカウントを使用して、これを解決する方法をいくつか見てきました。運がない、ファイルの一部です。 PHP.INIxamppとgmailを使用してメールを送信することに苦労しています

For Win32 only. 
; http://php.net/smtp 
SMTP = smtp.gmail.com 
; http://php.net/smtp-port 
smtp_port = 587 

[mail function] 


; 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"` 

とsendmail.ini

[sendmail] 

; you must change mail.mydomain.com to your smtp server, 
; or to IIS's "pickup" directory. (generally C:\Inetpub\mailroot\Pickup) 
; emails delivered via IIS's pickup directory cause sendmail to 
; run quicker, but you won't get error messages back to the calling 
; application. 

smtp_server=smtp.gmail.com 

; smtp port (normally 25) 

smtp_port=25 

; the default domain for this server will be read from the registry 
; this will be appended to email addresses when one isn't provided 
; if you want to override the value in the registry, uncomment and modify 

;default_domain=local 

; log smtp errors to error.log (defaults to same directory as sendmail.exe) 
; uncomment to enable logging 

;error_logfile=error.log 

; create debug log as debug.log (defaults to same directory as sendmail.exe) 
; uncomment to enable debugging 

;debug_logfile=debug.log 

; if your smtp server requires authentication, modify the following two lines 

auth_username=*************@gmail.com 
auth_password=****** 

; if your smtp server uses pop3 before smtp authentication, modify the 
; following three lines 

;pop3_server= 
;pop3_username= 
;pop3_password= 

; to force the sender to always be the following email address, uncomment and 
; populate with a valid email address. this will only affect the "MAIL FROM" 
; command, it won't modify the "From: " header of the message content 

;[email protected] 

; sendmail will use your hostname and your default_domain in the ehlo/helo 
; smtp greeting. you can manually set the ehlo/helo name if required 

;hostname=localhost` 

は間違っては何ですか?私はそれを理解することはできません。

ありがとうございます。

答えて

0

ポートはまず第sendmail.iniに間違っている - 他の問題があるかもしれませんが、ここでこの正確な状況に非常に良いガイドがあります:http://digiex.net/guides-reviews/guides-tutorials/application-guides/544-configuring-php-under-windows-use-gmail-external-smtp-server-ssl.html

+0

返信いただきありがとうございますが運はありません。このエラーが発生しました:最初にSTARTTLSコマンドを発行する必要があります。 bu13sm57250448wib.6 Andre

+0

http://byitcurious.blogspot.com/2009/04/solving-must-issue-starttls-command.html – Macros

+0

ありがとうMacros、got it;) – Andre

0

これは、迅速かつ簡単に動作します! php.iniで

、この行を有効にする、sendmail.iniで

sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t" 

smtp_server=smtp.gmail.com 
smtp_port=465 
smtp_ssl=ssl 
[email protected] 
auth_password=******* 
[email protected] 

Apacheを再起動、

<?php 
$to = "[email protected]"; 
$subject = "Test mail"; 
$message = "Hello! This is a simple email message."; 
mail($to,$subject,$message); 
echo "Mail Sent."; 
?> 

しかし、覚えておいてください、ドン」 php.iniの[メール機能]ブロックで他のオプションを有効にします。これらは、Mercury Mail Serverを使用している場合にのみ有効になります。また、mercury-mail-serverの設定には多くの手順があります。 sendmailを使ってPHPスクリプトをテストする方がよいでしょう!

関連する問題