나는 mailx 명령을 사용하여 메일을 보내고 있는데 두 가지 방법을 시도했습니다.
mailx -s "This is Subject" toAddr < bodyFile.txt
mailx -r "fromAddr" -s "This is Subject" toAddr < bodyFile.txt
동일한 오류가 발생합니다.
메일 보내기: 치명적: 매개변수 inet_interfaces: ::1에 대한 로컬 인터페이스를 찾을 수 없습니다.
다음 사항과 함께 이 오류를 해결하는 방법을 알고 싶습니다.
fromAddress
mailx는 기본적으로 무엇을 사용합니까?- mailx는 기본적으로 어떤 메일 전송 에이전트 주소를 사용합니까?
- 이 값을 어디에서 변경합니까?
답변1
# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
# more /var/log/maillog
Sep 1 17:07:50 izuf6cj2o216xp postfix/sendmail[25307]: fatal: parameter inet_interfaces: no local interface found for ::1
해결됨:
vim /etc/postfix/main.cf
#inet_interfaces = localhost
inet_interfaces = all
그 다음에
service postfix start
답변2
Mailx
메일 전송 에이전트(MTA, 설치된 모든 항목: sendmail, exim 등)에 메일을 전달하기 위한 명령줄 도구입니다. 이는 명령을 호출하여 수행됩니다.이메일을 보내(대개 /usr/sbin/sendmail
). MTA는 메일을 보내기 위해 이 명령을 제공합니다.
귀하의 경우 루프백 장치의 IPv6 주소에서 localhost()의 서버에 연결을 시도 ::1
하지만 아무것도 찾을 수 없습니다. 따라서 MTA가 잘못 구성되었거나(IPv4 대신 IPv6 사용) IPv6 네트워크 설정이 잘못되었습니다(루프백 인터페이스에 ::1 주소가 없음).
기본~에서-address는 사용자 이름이고 MTA는 MTA에서 구성한 모든 도메인 이름을 추가합니다(이는 규칙을 설정한 경우 메일을 배달하기 위해 접속하는 메일 서버와 같은 다양한 기준에 따라 추가로 재정의될 수 있습니다) ) .
MTA를 구성하여 이러한 값을 변경할 수 있습니다.
"mailx가 기본적으로 사용하는 MTA 주소는 무엇입니까?"라는 질문을 이해하지 못합니다. 내가 말했듯이 "어떤 MTA가 사용합니까?"를 의미하는 경우이메일을 보내명령이므로 이 명령을 제공하는 설치된 MTA 패키지를 사용합니다.
답변3
아마도 mailx를 실행하여 기본적으로 사용되는 로컬 MTA를 제대로 구성하지 않았을 수 있습니다.
mailx
공개 smtp 계정을 통해 직접 이메일을 보낼 수 있습니다 .
echo "This is the text." | \
env MAILRC=/dev/null \
from=from@your_domain \
smtp=your_smtp_server:port \
smtp-auth-user=your_login \
smtp-auth-password=your_pwd \
smtp-auth=login \
smtp-use-starttls=yes \
mailx -n -s "test 1" to@domain
또는 postfix나 exim과 같은 로컬 MTA를 설치하고 설정합니다. 현재 일부 배포판에서는 더 이상 기본적으로 MTA를 설치하지 않습니다.