Google의 SMTP 서버를 사용하여 모든 로컬 메일을 단일 외부 이메일로 보내려고 합니다.
Google의 SMTP 서버를 사용하는 것은 mailutils의 메일을 사용하여 외부 주소로 메일을 보낼 수 있기 때문에 작동합니다.
로컬 메일을 외부 이메일로 리디렉션하는 기능이 작동하지 않습니다. 내 계정에서 루트로 메일 보내기를 테스트할 때 다음을 사용합니다.
echo "Body" | mail -s "Test Postfix To Root" root
- 메시지를 받은 적이 없어요
- /var/log/mail.err에 새로운 내용이 나타나지 않습니다.
- 이는 /var/log/mail.log에 나타납니다.
Sep 4 18:48:06 desktop1204test postfix/pickup[5535]: C9326EE26: uid=1000 from=
Sep 4 18:48:06 desktop1204test postfix/cleanup[5702]: C9326EE26: message-id=
Sep 4 18:48:06 desktop1204test postfix/qmgr[5534]: C9326EE26: from=, size=401, nrcpt=1 (queue active)
Sep 4 18:48:06 desktop1204test postfix/local[5704]: C9326EE26: to=, orig_to=, relay=local, delay=0.03, delays=0.02/0/0/0, dsn=2.0.0, status=sent (delivered to mailbox)
Sep 4 18:48:06 desktop1204test postfix/qmgr[5534]: C9326EE26: removed
내 거 /etc/postfix/main.cf
:
inet_interfaces = loopback-only
mynetworks = loopback-only
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
virtual_alias_domains = localhost.localdomain
virtual_alias_maps = hash:/etc/postfix/virtual
relayhost = [smtp.gmail.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_CAfile = /etc/postfix/cacert.pem
smtp_use_tls = yes
내 거 etc/aliases
:
# See man 5 aliases for format
postmaster: root
내 /etc/postfix/virtual:
@localhost.localdomain [email protected]
어떻게 작동하게 할 수 있나요? 지역 우편물이 지역적으로 도착하는 것을 원하지 않습니다. 모두 로 보내야 합니다 [email protected]
.
아래 의견에 제안된 솔루션을 시도했지만 작동하지 않았습니다.*: [email protected]
/etc/aliases
test@desktop1204test:~$ sudo newaliases
test@desktop1204test:~$ cat /etc/aliases
# See man 5 aliases for format
postmaster: root
*: [email protected]
test@desktop1204test:~$ sudo newaliases
test@desktop1204test:~$ sudo service postfix restart
* Stopping Postfix Mail Transport Agent postfix [ OK ]
* Starting Postfix Mail Transport Agent postfix [ OK ]
test@desktop1204test:~$ echo "Body" | mail -s "Test Postfix To Root $(date)" root
test@desktop1204test:~$ tail /var/log/mail.err
test@desktop1204test:~$ tail /var/log/mail.log
......
Sep 4 22:46:12 desktop1204test postfix/master[7224]: daemon started -- version 2.9.6, configuration /etc/postfix
Sep 4 22:46:23 desktop1204test postfix/pickup[7227]: 859AFF6A8: uid=1000 from=<test>
Sep 4 22:46:23 desktop1204test postfix/cleanup[7235]: 859AFF6A8: message-id=<[email protected]>
Sep 4 22:46:23 desktop1204test postfix/qmgr[7228]: 859AFF6A8: from=<[email protected]>, size=431, nrcpt=1 (queue active)
Sep 4 22:46:23 desktop1204test postfix/local[7237]: 859AFF6A8: to=<[email protected]>, orig_to=<root@desktop1204test>, relay=local, delay=0.02, delays=0.02/0/0/0, dsn=2.0.0, status=sent (delivered to mailbox)
Sep 4 22:46:23 desktop1204test postfix/qmgr[7228]: 859AFF6A8: removed
test@desktop1204test:~$
답변1
(이것은 AskUbuntu에서 답변되었습니다.패시 소미넨, 그에게 정말 감사합니다! )
이는 가상 정규식(/etc/postfix/virtual-regexp)을 통해 수행할 수 있습니다.
/.+@.+/ [email protected]
그런 다음 main.cf에서:
virtual_maps = hash:/etc/postfix/virtual, regexp:/etc/postfix/virtual-regexp
및 지도 파일:
postmap /etc/postfix/virtual-regexp
이렇게 하면 모든 로컬 메일의 문제가 해결됩니다. 그렇지 않으면 가상 주소를 지정해야 합니다.
답변2
모든 루트 메일에 하나의 이메일 전달을 사용
echo "your_email_address" >> /etc/aliases && newaliases
하고 다음을 사용하여 테스트합니다.
echo "body" | mail -s "subject" root
이제 루트로 전송된 모든 애플리케이션이 귀하의 이메일로 전송됩니다. 자세한 내용을 보려면 여기를 클릭하세요:
https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-postfix-as-a-send-only-smtp-server-on-ubuntu-16-04#step-3- 테스트 SMTP 서버