터미널에서 명령을 시도하면 이메일이 전송됩니다. 로컬 SMTP가 실행되고 있지 않은지 확인 했으므로 장면 뒤에서 Apple이 사용하는 메커니즘은 무엇입니까?
echo "Hello" | mail -s "Test" foo@bar.com
답변
mail
OS X에서는 실제로 메일을 처리하기에 충분히 긴 Postfix를 생성 한 다음 잠시 후에이를 해제하는 것처럼 보입니다.
이를 확인하려면 telnet localhost 25
mail 명령을 시도한 후 즉시 시도한 다음 5 분 정도 기다렸다가 다시 시도하십시오.
Postfix가 어떻게 생성되고 찢어 졌는지 설명하지 않기 때문에 이것이 실제로 질문에 대한 올바른 대답인지 확실하지 않지만 질문에 대답하는 데 도움이되기를 바랍니다.
답변
SMTP 데몬이나 서버는 메일을 보내지 않고 메일을받습니다. 귀하의 예에서, mail
순수한 이메일 클라이언트이며 적절한 DNS MX 레코드에 의해 정의 된 모든 서버에 연결되며 bar.com
이를 수행하기 위해 로컬 서버를 실행할 필요가 없습니다.
그러나 메일 설정에 따라 인증을 위해 발신 메일 서버에 로그인해야하거나 발신자 및 반송 주소 등을 제공하기위한 다른 조치가 필요하지 않을 수도 있습니다. 이제 적절한 명령을 전달하여 명령 행에서이 모든 작업을 수행 할 수 있습니다. Mail 응용 프로그램을 설정하는 한이 구성은 이미 저장되어 있으며 메일 하위 시스템을 일시적으로 실행하여 터미널 명령으로 해당 정보를 가져 와서 하나 이상의 메일 smtp 서버를 가질 수 있습니다. 발신 메시지를 보내도록 선택합니다. 그런 다음 완료되면 프로세스를 종료합니다.
명령 행에서이 모든 것을 테스트하고 메일 클라이언트를 사용할 필요없이 메일을 보낼 수 있습니다. 저는 Mac에 있지 않기 때문에이 명령을 누군가 편집해야 할 수도 있지만 다음과 같이하면됩니다 :
nslookup
set type=mx
bar.com
exit
telnet MXServer 25 (where MXServer is one of the results returned above and 25 is the port number for SMTP servers)
답변
내 생각 엔 mail
항상 보내기 메일 로컬 센드 메일을 사용합니다. 에서 OSX의 센드 메일 접미사입니다. 그리고 그것은 확실히 사용됩니다.
메일 헤더를 확인할 수 있습니다 Received: by [Your-Mac] (Postfix, from userid ...
.
그럼에도 불구하고 사용하는 것은 좋지 않습니다 mail
(또는 더 나은 postfix
같은). 가장 좋은 방법은 자주 사용되는 방화벽 제한을 피하기 위해 로컬 Postfix에 스마트 호스트 를 사용하는 것 입니다.
Snow Leopard의 Postfix for SMTP Smart Host Setup 에서 해결책을 찾을 수 있습니다 .