루트가 수신 한 이메일을 우분투 노드의 외부 이메일로 전달하고 싶습니다. 이 게시물 을 보았지만 따라야 할 절차에 대해서는 많이 설명하지 않습니다. 온라인에서 사용할 수있는 다른 게시물이 있지만 불완전하거나 불분명 한 경우가 많습니다.
누구든지 공유 할 수있는 완전한 절차가 있습니까? 노드에 메일 서버를 설치해야합니까? 그렇다면 어느 것입니까? 노드의 구성 단계는 무엇입니까? 명령 줄을 엄격하게 사용하고 있습니다 (노드는 서버입니다).
답변
경우 root
이메일을 수신, 당신은 아마 이미 서버가 설치되어 있습니다.
$ sudo dpkg-reconfigure postfix
이것이 오류가 발생하면
$ sudo apt-get install postfix
(재) 직접 제공하거나 스마트 호스트를 사용하도록 구성하십시오. 이제 root: user@example.com
올바른 주소와 함께 ” “를 추가 /etc/aliases
하고 실행하십시오 newaliases
. (우분투 postfix
패키지는에 자동으로 수행하도록 제안합니다 dpkg-reconfigure
).
답변
노드에 메일 서버가 설치되어 있어야합니다. 예. Postfix, exim 및 sendmail이 기본 설정입니다 (순서대로).
일부 메일 서버는 메일을받는 사람에 대해 약간 까다 롭습니다. 로컬 메일 서버 인 경우 네트워크에 의해 제한이 적용되므로 문제가 없을 수 있습니다. 예를 들어 Gmail 인 경우, 보내는 도메인 (postfix의 / etc / mailname)이 보내는 IP와 일치하는지 확인해야합니다. IP와 일치하는 도메인이 필요한 경우 DynDNS 또는 기타 유사한 서비스를 확인하십시오 (아직없는 경우).
다른 메일 제공 업체에 릴레이하기위한 온라인 지침을 확인하십시오.
그런 다음 다음 중 하나를 루트로 수행하여 root @ localhost로 발송 된 메일을 외부 이메일 주소로 발송할 수 있습니다.
echo "you@yourmail.com" > /root/.forward
또는
echo "root: you@yourmail.com" >> /etc/aliases && newaliases
답변
나갈 수 있는지 또는 ISP가 포트 25 차단을 수행하는지 확인해야합니다. 사용자 이름과 비밀번호로 스마트 호스트 이메일 전달을 위해 Ubuntu를 설정하기 위해 아래 스크립트를 만들었습니다. 따라서 루트 전자 메일을 ISP SMTP 서버로 전달하고 직접 이동하지는 않습니다.
apt-get install mailutils
P=/etc/postfix/password
echo "smtp.mailserver.com username:password" >> $P
chown root:root $P
chmod 0600 $P
postmap hash:$P
echo "
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/password
smtp_sasl_security_options =
" >> /etc/postfix/main.cf
echo "
root: emailtoforward2@domain.com" >> /etc/aliases
newaliases
/etc/init.d/postfix reload
echo "$HOSTNAME Email Ready" | mail -s 'Email test' root
tail /var/log/mail.log