2017-03-18 7 views
1

mailx를 사용하여 일부 전자 메일을 보내는 아주 쉬운 스크립트를 작성했습니다. 스크립트는 정상적으로 작동하지만 다른 발신자 이메일 주소를 사용하려고 시도하고 있으며 거의 ​​모든 것을 시도했으며 저를 위해 일하지 않습니다. 나는 Gmail 인증서가 어떻게 든 발신자로 정의하고있는 내용을 덮어 쓰고 있다고 느낍니다. 내가 보낸 이메일은 "회사 [email protected]"입니다 이메일을 receviemailx 및 gmail SMTP 인증서를 사용하는 보낸 사람 전자 메일

for i in ${EMAILS[@]}; do 
    mailx -s "Let me introduce myself" -r "Company <[email protected]>" -S replyto="[email protected]" $i <<eof 
    Hello World, 

    I'm an automate email 

    eof 
done 

매번 :

는 코드입니다.

나는에 main.cf 파일의 끝 부분에이 라인을 추가 한을/etc/후위

relayhost = [smtp.gmail.com]:587 
smtp_use_tls = yes 
smtp_sasl_auth_enable = yes 
smtp_sasl_security_options = 
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd 
smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt 

그리고 마지막으로, 내가 만든이/etc/후위/sasl_passwd 내 개인 Gmail을 파일 info (login + password).

어떤 종류의 도움이라도 대단히 감사하겠습니다.

감사합니다.

+0

: [어떻게 mailx의 명령에 대한 전자 메일 주소에서 설정?] 나는 것을 시도 (http://stackoverflow.com/q/1296979/3776858) – Cyrus

+0

하나와 나는 실제로 -r 옵션을 사용하고있다. 그것은() 사이에 작동하지 않았지만 < > 사이에 있습니다. 어쨌든 고마워! – vanboxen

답변

0

문제를 해결했습니다. 방금 개인 이메일 계정을위한 새 도메인을 추가 했으므로 -r 옵션을 사용하여 다른 도메인의 이메일을 보낼 수 있습니다.

는 이 코드는 작동

이 도움이 될

echo "This is the message body and contains the message" | mailx -v -n -r "[email protected]" -s "This is the subject" -S smtp="smtp.server:port" -S smtp-use-starttls -S ssl-verify=ignore -S smtp-auth-user="[email protected]" -S smtp-auth-password="pasword" -S ssl-verify=ignore [email protected]