2011-01-10 3 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] 

[내가 마력 이상 변경 참고 : // http : //에서이 하이퍼 링크를 게시하는 웹 사이트의 제한 때문에]

변경해야 할 사항이 있습니까? 언급 된 swiftmailer와 같은 소프트웨어를 보았지만 Xampp에 이미 포함되어 있는지 여부는 알 수 없습니다. 팁을 주시면 감사하겠습니다.

감사 제임스

+6

Xampp에는 수은이 포함되어 있습니다. 그걸 세웠어? 나는 또한 문서가 그것과 함께 PHP 작업을하는 것에 관한 장을 포함한다고 생각한다. –

답변

13

내가 가장 좋아하는 SMTP 서버 hMailServer입니다.

멋진 Windows 설치 프로그램과 마법사가 있습니다. 내가 설정 한 가장 쉬운 메일 서버를 손에 넣습니다.

gmail/yahoo/etc 계정을 통해 프록시하거나 이메일을 직접 보낼 수 있습니다.

일단 설치되면 xampp의 이메일은 설정 변경없이 작동합니다.

+1

안녕 바이런, hMailserver 프록시를 설정하여 Gmail과 야후에 이메일을 보내는 방법에 대한 튜토리얼이 있는가? – jasper

+0

창과 관련이 있습니까? –

+0

@ByronWhitlock은 Linux를위한 대안이 있습니다. –

5

로컬 컴퓨터에 메일 서버가 설정되어 있지 않으면 SMTP = localhost로 설정해도 아무런 효과가 없습니다.

(오래 전) 사라진 날에 SMTP 값을 ISP의 SMTP 서버 주소로 설정하는 것으로 충분했습니다. 대부분의 ISP는 사용자 이름과 암호로 인증을 요구하므로이 기능은 거의 작동하지 않습니다. 그러나 PHP mail() 함수는 SMTP 인증을 지원하지 않습니다. 로컬 서버의 메일 전송 에이전트와 직접 작동하도록 설계되었습니다.

로컬 메일 서버를 설정하거나 SMTP 인증을 지원하는 PHP 클래스 (예 : Zend_Mail 또는 PHPMailer)를 사용해야합니다. 그러나 가장 간단한 해결책은 메일 처리 스크립트를 원격 서버에 업로드하는 것입니다.

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.ini을 가져야한다; 그것은 수 있도록 구성해야합니다 :

물론
# 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 

는, 임의의 계정 이름과 ACCOUNTNAME_HERE 대체 (예 : Gmail이나 핫메일 등) 유효한 이메일로 EMAIL_HERE를 교체하고 이메일로 비밀번호를 PASSWORD_HERE를 교체합니다. 이제 메일을 보낼 수 있습니다. PHP가 작동하도록하려면 제어판 (배치 파일 또는 파일)에서 Apache를 다시 시작해야합니다.