태그 보관물: sendmail

sendmail

주소의 기본 주소를 Postfix에서 www-data에서 다른 것으로 변경 = “/usr/sbin/sendmail -t -i -f support@example.com”있었지만 전자

Ubuntu 서버에서 Postfix 및 Apache / PHP 설정 올바른 도메인 이름으로 메일이 제대로 나오지만 Postfix가 기본적으로 사용자 이름을 사용한다고 가정 할 때 로컬 부분 표시 이름은 항상 “www-data”입니다.

php.ini 파일에서를 변경할 sendmail_pathsendmail_path = "/usr/sbin/sendmail -t -i -f support@example.com"있었지만 전자 메일 표시 이름은 여전히 ​​www-data로 나타납니다. 표시 이름을 몇 가지 다른 방법으로 지정하려고 시도했지만 무시되었지만 메일은 여전히 ​​www-data로 나왔습니다.

내가 할 수있는 것은 기본적으로, from에서 누락 된 메일, return-path 등의 헤더를로 보내는 것입니다. "Example Support" <support@example.com>그러나 가능한지 확실하지 않습니다.



답변

질문을 이해하면 주소가 아닌 발신인의 전체 이름을 설정하려고합니다 (또는 주소 외에). 일반적으로 Postfix는 그 내용을 신경 쓰지 않으며 MUA (이 경우 일부 PHP 스크립트)가 메시지 헤더를 생성 할 때 설정합니다. PHP 코딩에는 익숙하지 않지만 PHP mail () 함수 의 설명서에 설명되어 있습니다 .

그러나 postfix의 sendmail바이너리를 호출 하여 메시지를 보내는 경우 -F "Support System"원하는 것을 수행하는 데 사용할 수 있습니다 . 아마도 이것은 mail.force_extra_parameters설정 에 있어야 할 것입니다 . PHP가 어떻게 작동하는지 잘 모르겠습니다. (대부분, 그건 어쨌든 잘못된 일입니다.)


답변

main.cf에 추가

smtp_generic_maps = hash:/etc/postfix/generic

다음과 같이 / etc / postfix / generic이라는 파일을 만듭니다.

www-data support@example.com

postmap /etc/postfix/genericpostfix를 컴파일하고 다시로드하기 위해 실행하십시오 . 발신자 이름은 support@example.com입니다.


답변

@Dom이 잊어 버린 프로세스를 완료하기 위해 마지막으로해야 할 일이 있습니다. 다음 명령을 실행하십시오.

$ postmap /etc/postfix/generic

이 명령은 generic.db/ postfix 디렉토리 안에 파일을 작성 합니다.

이 작업을 수행하지 않으면 다음 오류 출력이 발생할 수 있습니다.

fatal: open database /etc/postfix/generic.db: No such file or directory