que coisas devo saber ao usar o comando mailx

1

Estou usando o comando mailx para enviar mensagens, Eu tentei de duas maneiras ..

mailx -s "This is Subject" toAddr < bodyFile.txt
mailx -r "fromAddr" -s "This is Subject" toAddr < bodyFile.txt

Estou com o mesmo erro:

send-mail: fatal: parameter inet_interfaces: no local interface found for ::1

Eu quero saber como resolver esse erro e também as seguintes coisas:

  • O que o mailx aceita fromAddress por padrão?
  • O que o mailx recebe o endereço do Agente de Transferência de Correio por padrão?
  • De onde alterar esses valores?
por firoj_mujawar 07.10.2016 / 08:50

3 respostas

3

Mailx é apenas uma ferramenta de linha de comando para enviar e-mails para o seu Agente de Transferência de E-mail (MTA; o que quer que você tenha instalado: sendmail, exim, ...). Isso é feito invocando o comando sendmail (geralmente /usr/sbin/sendmail ). Seu MTA fornece este comando para, bem, enviar e-mail.

No seu caso, ele tenta entrar em contato com um servidor no endereço IPv6 do dispositivo de loopback no host local ( ::1 ) e não consegue encontrar nada. Portanto, seu MTA não está configurado corretamente (usa IPv6 em vez de IPv4) ou sua configuração de rede IPv6 não está correta (não :: 1 endereço na interface de loopback).

O endereço de padrão é seu nome de usuário, e o MTA adiciona qualquer nome de domínio que você tenha configurado em seu MTA (e pode ainda reescrever isso de acordo com vários critérios como servidor de e-mail para entrar em contato. o e-mail, se você tiver configurado regras para isso).

Você altera esses valores configurando seu MTA.

Não entendi a pergunta "o que o mailx usa o endereço MTA por padrão". Se você quer dizer "qual MTA ele usa", como eu disse, ele invoca o comando sendmail , então ele usa qualquer pacote MTA instalado que forneça este comando.

    
por 07.10.2016 / 09:23
1

Provavelmente você não tem um MTA local corretamente configurado que o mailx deseja usar por padrão.

Você pode usar mailx para enviar diretamente um e-mail por meio de sua conta smtp pública.

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

Ou instale e configure um MTA local como postfix ou exim. Atualmente algumas distribuições não instalam MTAs por padrão.

    
por 07.10.2016 / 11:43
0
# 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

Resolveu:

vim /etc/postfix/main.cf
#inet_interfaces = localhost
inet_interfaces = all

então

service postfix start
    
por 01.09.2018 / 11:34

Tags