2011-04-07 3 views

답변

3

mail()은 Linux 및 Windows에서 매우 다릅니다. 리눅스 그 파이프에

  • 실제로 다른 응용 프로그램에 떨어져 메일을 전달하기 위해 MTA 역할을 할 필요가 창에 모든 작업
  • 을 수행하는 센드 메일 바이너리에 대한 메일.

가장 좋은 방법은 PHP가 최종 배달을 담당 할 다른 서버로 메일을 전달할 수 있도록 SMTP 정보를 설정하는 것입니다. 완료 여전히 상황이 분해되는 위치를 확인할 수 PHP 지정된 MTA 모두 로그를 메일 체크를 보낼 수없는 경우 (그리고 웹 서버가 영향을 미치는 변화가 확보 할 수 있도록 다시 시작) 그건

http://ca2.php.net/manual/en/mail.configuration.php#ini.smtp

.

+0

도움 주셔서 감사합니다. 한 가지 더 묻습니다. 메일을 보내는 약 5 개의 파일이 있습니다. 내 SMTP 정보를 전역 파일로 사용할 수 있습니까? 그래서 각 메일 파일에 내 SMTP 정보를 사용할 수 있도록 각 파일에 한 줄의 코드를 추가 할 수 있습니까? – Michael

+0

php.ini의 설정은 전역이므로 한 번 설정하면 해당 웹 서버에서 실행되는 모든 PHP 스크립트가이를 채택합니다. – preinheimer

+0

PHPMailer 나 Swiftmailer를 사용하는 것이 좋습니다. 현재 사용중인 플랫폼에 상관없이 SMTP 서버로 이메일을 전송할 수 있습니다. 구성/인증 정보를 클래스에 저장하면 다양한 PHP 스크립트가 쉽게 다시 사용할 수 있습니다. –

1

PHP.ini 확인 스크립트 수준에서 ini_set 함수를 사용하여이를 무시할 수도 있습니다 (필자 생각).

[mail function] 
; For Win32 only. 
SMTP = xxx.xxx.xxx.xxx 
smtp_port = xx 
관련 문제