sendmail: como configurar o sendmail no ubuntu? [fechadas]


189

Quando eu procurei configurar o sendmail no ubuntu, não recebi uma resposta clara, cada um deles assume que eu sei do que está falando,

Eu só quero a configuração básica para permitir o envio de e-mails, basicamente eu o usarei com o google app engine para permitir o envio de e-mails do servidor de desenvolvimento.

Eu já fiz isso:

sudo apt-get install sendmail

então

sudo sendmailconfig

mas não sei o que o último realmente fez.


4
@ThiefMaster, não estamos mais migrando perguntas para os sites SE adequados?
Michael Michael

Esta pergunta é muito antiga para ser migrada (e já era assim quando a fechei).
ThiefMaster

1
Nenhuma dessas respostas funcionou para mim. Encontrei este artigo on-line que funciona para mim: daveperrett.com/articles/2013/03/19/…
Online Sid

@ThiefMaster define "muito antigo" você está dizendo que o sendmail está obsoleto? Pense de novo.
PJ Brunet

Enquanto eu acho sendmailobsoleto (existem alternativas muito melhores!), Meu comentário CINCO ANOS atrás foi simplesmente sobre o fato de não migrarmos perguntas antigas para outro site da SE.
ThiefMaster 26/05/19

Respostas:


145

Quando você digitou sudo sendmailconfig, deveria ter sido solicitado a configurar o sendmail.

Para referência, os arquivos atualizados durante a configuração estão localizados no seguinte (caso você queira atualizá-los manualmente):

/etc/mail/sendmail.conf
/etc/cron.d/sendmail
/etc/mail/sendmail.mc

Você pode testar o sendmail para ver se ele está configurado corretamente, digitando o seguinte na linha de comando:

$ echo "My test email being sent from sendmail" | /usr/sbin/sendmail myemail@domain.com

A seguir, você poderá adicionar o smtp relay ao sendmail:

#Change to your mail config directory:
cd /etc/mail

#Make a auth subdirectory
mkdir auth
chmod 700 auth

#Create a file with your auth information to the smtp server
cd auth
touch client-info

#In the file, put the following, matching up to your smtp server:
AuthInfo:your.isp.net "U:root" "I:user" "P:password"

#Generate the Authentication database, make both files readable only by root
makemap hash client-info < client-info
chmod 600 client-info
cd ..

Adicione as seguintes linhas ao sendmail.mc, mas antes do MAILERDEFINITIONS. Certifique-se de atualizar seu servidor smtp.

define(`SMART_HOST',`your.isp.net')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
FEATURE(`authinfo',`hash -o /etc/mail/auth/client-info.db')dnl

Invoque a criação sendmail.cf (em alternativa, execute make -C /etc/mail):

m4 sendmail.mc > sendmail.cf

Reinicie o daemon sendmail:

service sendmail restart

2
ao tentar o último comando eu recebo este bash: Meu e-mail de teste que está sendo enviado de sendmail: Nenhum tal lima ou diretório
UXE

2
desculpe, quando você diz your.isp.net, eu coloco gmail.comou smtp.gmail.comlá dentro?
Houman

30
Uma coisa que não está clara é quais substituições devem ser feitas no AuthInfo: your.isp.net "U: root" "I: usuário" "P: senha" Especificamente, como você substitui U: root e I: usuário
Tom Haws

13
Caso outra pessoa esteja confusa, as seqüências dentro do sendmail.mcarquivo precisam estar no formato BACKTICK + seu texto + CITAÇÕES ÚNICAS .
Thomas Thomas

2
Esta foi a única configuração que funcionou perfeitamente para mim: linuxconfig.org/configuring-gmail-as-sendmail-email-relay
Jared Eitnier

35

A resposta principal está funcionando (ainda não posso responder) após uma pequena edição

Isto não funcionou para mim:

FEATURE('authinfo','hash /etc/mail/auth/client-info')dnl

A primeira citação simples para cada string deve ser alterada para um backtick (`) como este:

FEATURE(`authinfo',`hash /etc/mail/auth/client-info')dnl

Após a alteração, eu corro:

sudo sendmailconfig

E eu estou no negócio :)


3
Independentemente de eu usar sua correção ou não, quando invoco o serviço sendmail restart, recebo a classe de arquivo: não é possível abrir 'ATURE (authinfo,': esse arquivo ou diretório não existe
Tom Haws

4
-lo de "recurso" não "NATUREZA", verifique o copiar / colar
jyavenard

você tem que colá-lo em um local diferente no sendmail.cf (i colocá-lo logo acima mailer, mas eu ainda obter nenhum e-mail)
Toskan

14

Combine duas respostas acima, eu finalmente faço funcionar. Apenas tome cuidado para que a primeira citação única para cada string seja um backtick (`) no arquivo sendmail.mc.

#Change to your mail config directory:
cd /etc/mail

#Make a auth subdirectory
mkdir auth
chmod 700 auth  #maybe not, because I cannot apply cmd "cd auth" if I do so.

#Create a file with your auth information to the smtp server
cd auth
touch client-info

#In the file, put the following, matching up to your smtp server:
AuthInfo:your.isp.net "U:root" "I:user" "P:password"

#Generate the Authentication database, make both files readable only by root
makemap hash client-info < client-info
chmod 600 client-info
cd ..

#Add the following lines to sendmail.mc. Make sure you update your smtp server
#The first single quote for each string should be changed to a backtick (`) like this:
define(`SMART_HOST',`your.isp.net')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
FEATURE(`authinfo',`hash /etc/mail/auth/client-info')dnl

#run 
sudo sendmailconfig

Ainda estou com problemas para entender a linha AuthInfo ... Você pode dar um exemplo ... ???
Atul Dravid - Unip. Branco Ltd.

Por exemplo, minhas informações de cliente têm apenas uma linha,AuthInfo:smtp.gmail.com "U:username" "P:password"
flyrain

Ainda com todas essas configurações e o AuthInfo, caio na lista de SPAM usando smtp.gmail.com com a conta existente do google.admin AuthInfo: smtp.gmail.com "U: root" "I: nome@domínio.com" "P: senha "também tentou AuthInfo: smtp-relay.gmail.com" U: raiz "" I: nome@domínio.com "" P: senha "
xoxn-- 1'w3k4n 23/03/16

Para esclarecer:AuthInfo: smtp.gmail.com "U:yourusername@gmail.com" "P:yourpassword"
Mendes
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.