2011-02-07 1 views
0

postfix 메일 서버를 설정 했으므로 'localhost', 포트 25를 통해 smtp 서버에 전자 메일을 보낼 수 있습니다.어떤 사용자가 내 이메일을 보내는 PHP 스크립트입니까?

그러나 메일을 보낸 사용자를 확인하는 방법을 모르겠습니다. . 오픈 릴레이가 아니지만 나 자신을 인증하지 않고 보낼 수 있습니다. 로컬 호스트에서만 작동하는 것 같습니다.

인증을 받거나 어떤 사용자가 메일을 보내고 있는지 알고 싶습니다. 그래서 그에게 할당량을 설정할 수 있도록 허용하고 '보낸 사람'을 허용 할 수 있습니다 (지금은 사용 가능한 도메인 중 하나를 선택할 수 있습니다). 보낸 사람으로, PHP 스크립트를 통해 보낼 때)

/var/log/maillog에서 'from'및 'to'이외의 메일을 찾을 수 없습니다.

아이디어가 있으십니까?

답변

0

질문이 매우 혼란 스럽습니다.

'mail'명령을 사용할 때 무슨 일이 일어나는 지 이야기하고 있다고 가정합니다. Unix 시스템에서는 php.ini 파일에 정의 된 프로그램을 실행합니다. MTA에 네트워크 연결을 생성하여 메일을 보낼 수있는 libs가 있습니다.이 경우 uid는 MTA에 직접 사용할 수 없습니다. 대부분의 관리자가 인증을 구성하는 시나리오입니다.

발신자의 uid는 PHP가 실행되는 사용자 ID입니다.

MTA가 인증을 요구하는지 여부는 메일을 호출하는 uid와 거의 관련이 없습니다.

이 시나리오에서 전자 메일의 보낸 사람은 전자 메일의 보낸 사람 주소입니다. 내가 좋아하는 것

는 다음과 같은() phpmailer로 소켓 기반의 메일 프로그램을 사용하여 인증을 요구하도록 MTA를 구성 강제로 인증합니다.

+0

MTA를 사용하고 있지만 localhost에서 연결할 때 인증이 필요하지 않습니다. 방금 localhost 25에 메일을 보내면 작동합니다. 후위는 어떻게해야합니까? – HappyDeveloper