PHP Pear Mail_Mime 라이브러리를 사용하여 이메일을 보내고 있습니다. 내 스크립트에서는 메시지를 보내기 전에 "보낸 사람 :"헤더를 설정했습니다. 이 모든 것은 Mac OS X을 실행하는 서버에서 잘 작동합니다. (아마 100 %는 아니지만 sendmail을 메일러로 사용합니다.) 테스트 이메일을 보낼 때 "보낸 사람 :"필드에 올바른 발신인이 표시됩니다.Exim이 PHP에서 MIME 이메일을 보낼 때 "보낸 사람"헤더를 덮어 씁니다.
그러나 Exim4가 메일러 인 Linux 서버에서 동일한 스크립트를 실행해도 전자 메일은 전송되지만 스크립트에서 지정한 헤더 대신 "보낸 사람 :"헤더가 기본으로 표시됩니다.
PHP의 메일 기능에 대한 "추가 매개 변수"에서 "-f [전자 메일 주소에서]"옵션을 설정하려고 시도했지만 아무 효과가 없습니다.
Exim에서 헤더가 제대로 작동하려면 어떻게 알 수 있습니까?
모든 조언을 크게 듣습니다.
건배, 톰
편집 : 여기 사람이 그것을보고 관심 경우의 코드입니다.
<?php
include_once('Mail.php');
include_once('Mail/mime.php');
$subject = "mime mail test";
$from = "[email protected]";
$to = "[email protected]";
$visitor_email = $from;
$message = new Mail_mime();
$message->setTXTBody("hallo there!");
$body = $message->get();
$extraheaders = array("From"=>$from, "Subject"=>$subject,"Reply-To"=>$visitor_email);
$headers = $message->headers($extraheaders);
$mail = Mail::factory("mail");
$result = $mail->send($to, $headers, $body, "", "-f [email protected] -r [email protected]");
print_r($result);
?>
'Return-path' 헤더를 reply-to 및/또는 from과 동일한 것으로 설정하십시오. 또한'Mail :: send'는 당신이 사용하고있는 PEAR Mail 클래스라고 가정하고 처음 3 개의 인자를 지원합니다. – prodigitalson
아, 고마워 - 나는 PEAR 메일 클래스에 대해 알지 못했다. – Tom
이것이 나와 있습니다 : http://stackoverflow.com/questions/4663040/from-email-address-changes-after-email-is-sent-gmail-postfix-relay/ – dkarp