Como o email é realmente enviado quando eu uso o comando “mail” do Linux?

15

Qual conta de e-mail é usada para enviar um e-mail ao usar o comando mail do terminal do Linux como em:

echo "Body of email" | mail -s "Subject" [email protected]

Se os e-mails não estiverem sendo enviados, será necessário especificar o nome de usuário e a senha de um endereço de e-mail de envio? Todos os tutoriais mail que li não especificam nada sobre o endereço do remetente.

Editar: Então, se eu receber uma mensagem de erro dizendo "Enviando para domínios remotos não suportados", isso significa que meu ISP bloqueou o envio de e-mails? Existe alguma maneira de contornar isso? Obrigado.

    
por user001 31.01.2012 / 21:43

4 respostas

11

What email account is used to send an email when using the mail command from the linux terminal as in:

Nas configurações padrão, é a mesma conta que você usou para efetuar login. Seu computador tem um programa de servidor de email (um MTA) instalado; normalmente tanto o Postfix quanto o Exim4, às vezes o Sendmail ou o qmail.

O endereço de e-mail dessa conta é your-login@hostname ou your-login@fqdn , onde o FQDN pode ser obtido de hostname -f . No entanto, agora você não pode receber correio para esta conta, uma vez que o MTA está configurado para "somente correio local" (como a mensagem de erro abaixo diz) e não aceitará mensagens externas.

Edit: So if I receive an error message to the effect of "Mailing to remote domains not supported", does this mean my ISP has blocked sending emails? Is there any way around this?

Não; essa mensagem de erro é retornada pelo seu próprio computador. O servidor de e-mail está configurado para somente transferir local mail - de um usuário para outro (mais comumente, a partir do daemon cron , se um cronjob falhar). Normalmente, essas mensagens vão para /var/mail/login e são legíveis usando mail , mutt , re-alpine ou programas semelhantes. (IIRC, o Thunderbird também tinha a capacidade de importar bobinas de correio locais).

Não é difícil reconfigurar o servidor de e-mail para enviar e receber e-mails de / para outros sites; dependendo do MTA instalado e da distribuição do Linux, até mesmo um único comando pode ser o suficiente: por exemplo, dpkg-reconfigure postfix se o sistema for Debian com o Postfix.

No entanto, suponho que você esteja usando isso em um computador pessoal, por isso, seria melhor usar uma conta de e-mail externa. Por exemplo, seu endereço do Gmail, se você tiver um. Descubra qual MTA está instalado (no Ubuntu / Debian, dpkg -S /usr/sbin/sendmail dirá a você), então procure no Google por " program-name relay gmail " por um tutorial.

Como alternativa, instale um MTA especificamente projetado para retransmissão; msmtp e esmtp são boas escolhas e fáceis de configurar.

    
por 31.01.2012 / 22:04
4

É o nome da conta e o nome do host do usuário remetente, por exemplo, root@myserver . Não é necessariamente uma caixa de correio real que pode receber e-mails do lado de fora.

    
por 31.01.2012 / 21:49
3

O comando mail envia emails sob a conta atual, ou seja, username @ domain; no entanto, geralmente os provedores de serviços de Internet impedem que os usuários executem seus próprios servidores de e-mail (bloqueando as portas relevantes) para evitar spam e, portanto, seu e-mail não é enviado.

Mas o problema de envio também pode estar relacionado à configuração da sua máquina.

Editar: permitindo que o e-mail envie e-mails de, por exemplo, gmail. Coloque as seguintes informações em seu ~ / .mailrc  arquivo, que fornece configuração básica para o correio. No entanto, certifique-se de que este arquivo só é acessível a você (usando chmod 600 ~ / .mailrc)

account gmail {
set smtp-use-starttls
set ssl-verify=ignore
set smtp=smtp.gmail.com:587
#set smtp-auth=login
set [email protected]
set smtp-auth-password=pass
set [email protected]
}

Nesse caso, o email será proveniente de "[email protected]".

    
por 31.01.2012 / 21:48
0

Consulte este Como para enviar email a partir da linha de comando do Linux para mais informações

    
por 31.01.2012 / 21:53