Enviar mail des de la línia de comandes

De Wikijoan
Dreceres ràpides: navegació, cerca

Contingut

sendmail (intent no reeixit)

$ sudo apt-get install mailx
$ sudo apt-get install sendmail

Altres paquets que també serveixen per enviar mails: nail, mutt, exim4, postfix

joan@ubuntu:/etc/mail$ sudo ps aux | grep sendmail
root      9173  0.0  0.1   9020  1724 ?        Ss   13:42   0:00 sendmail: MTA: accepting connections 

Fitxer de configuració del sendmail: /etc/mail/sendmail.cf

$ sudo cp sendmail.cf sendmail.cf.old
$ sudo joe /etc/mail/sendmail.cf

faig una còpia perquè en editar el fitxer el primer que diu és no tocar aquest fitxer.

# "Smart" relay host (may be null)
smtp.indicerural.com   #aquí posava DC

# who I masquerade as (null for no masquerading) (see also $=M)
indicerural.com #DMubuntu

però no va bé, perquè quan reinicio el servei:

/etc/init.d$ sudo ./sendmail restart
 * Restarting Mail Transport Agent (MTA) sendmail                                                                                                            554 5.0.0 /etc/mail/sendmail.cf: line 111: unknown configuration line "smtp.indicerural.com"
554 5.0.0 /etc/mail/sendmail.cf: line 156: unknown configuration line "indicerural.com"

Fent una mica de documentació es veu que sendmail és difícil de configurar, i que hi ha millors opcions com ara exim

exim4

Exim4 is is another Message Transfer Agent (MTA) developed at the University of Cambridge for use on Unix systems connected to the internet. Exim can be installed in place of sendmail, although the configuration of exim is quite different to that of sendmail.

http://bobbyallen.wordpress.com/2007/04/30/how-to-install-exim4-on-ubuntu-as-a-smarthost/

Instal.lació

$ sudo apt-get install exim4 exim4-base exim4-config

he hagut de canviar el sources.list per tal de poder instal.lar, he posat:

deb http://archive.ubuntu.com/ubuntu gutsy universe

Configuració

Aquí ve la part complicada.

$ sudo dpkg-reconfigure exim4-config

comença una interfície gràfica que ens va fent preguntes. Al final, tots els paràmetres es guarden en el fitxer /etc/exim4/update-exim4.conf.conf

Jo vull configurar el meu sistema per que el compte administrador@indicerural.com sigui el que envia els correus (el meu servidor de correu sortint és smtp.indicerural.com, el login i pwd del compte són sn7333/****, i el servidor requereix autentificació (el mateix login i pwd)

en aquest enllaç hi ha una explicació més detallada del que ens estan preguntant.

El que s'ha de contestar és:

mail sent by smarthost; received via SMTP or fetchmail
el meu smarthost és el servidor de correu extern: smtp.indicerural.com. És el que realment enviarà els mails als destinataris finals.
The "mail name" is the domain name used to "qualify" mail addresses without a domain name.
poso indicerural.com
també puc posar exemple.org i el resultat serà el mateix
Nota: poso exemple.org perquè això és el que tenia en el /etc/host. Quan elimino aquesta entrada, el mail deixa de funcionar, i torna a funcionar quan reconfiguro el mail i poso empresalibre.org, que és el que ara tinc en el /etc/host
en blanc, no és el meu cas
en blanc, no és el meu cas
en blanc, no és el meu cas
en blanc, no és el meu cas
aquí és on ficaré el meu servidor SMTP
smtp.indicerural.com::587 -> no funciona! hauria de ficar una entrada en /etc/hosts que fes de DNS
217.76.146.62 -> per defecte utilitza el port 25
217.76.146.62::587 -> pel port 587 també funciona (l'ajuda d'Arsys diu que el compte s'ha de configurar pel port 587, però jo tota la vida l'he configurat pel port 25. De les dues maneres funciona).
deixem el que hi ha per defecte. The headers of outgoing mail can be rewritten to make it appear to have been generated on a different system, replacing the local host name in From, Reply-To, Sender and Return-Path.
els mails es guardaran a /var/mail/ (és l'opció per defecte)
No

És important utilitzar aquesta eina de configuració i no editar directament el fitxer update-exim4.conf.conf, perquè en realitat hi ha altres fitxers de configuració i és un procés més complicat que editar el fitxer.

Després de configurar es pot executar la següent comanda per generar el fitxer de configuració mestre:

$ sudo update-exim4.conf 

El fitxer de configuració mestre es guarda a /var/lib/exim4/config.autogenerated. Tanmateix, sembla ser que aquest pas no és especialment necessari

El servidor requereix autentificació:

Using Exim as SMTP-AUTH client

$ sudo joe /etc/exim4/passwd.client

afegeixo la línia

217.76.146.62:sn7333:**** -> si vull enviar com a administrador@indicerural.com
#217.76.146.62:sq5532:**** -> si vull enviar com a reservas@indicerural.com

però compte, només una de les dues (com s'ha de fer per tenir diversos comptes disponibles per a poder enviar mail?)

Quan configuro d'aquesta manera el dimoni s'atura i s'engega automàticament. Si ho vull fer manualment:

$ sudo /etc/init.d/exim4 start # o bé restart

Abans de provar el Servidor de Correu (de fet no és un servidor de correu), instal.larem el paquet mailutils que ens instal.la una sèrie d'utilitats, com ara mail (la comanda pròpia per enviar el mail) o mailq (per veure la cua de missatges que encara no s'han enviat)

$ sudo apt-get install mailutils

La primera prova que fem és enviar un mail en local:

joan$ mail joan #joan s'envia un mail a ell mateix
joan$ mail root #joan envia un mail a root

puc veure els mails rebuts a

$ cat /var/mail/joan

ara bé encara no puc enviar un mail suplantant administrador@indicerural.com.

Després de molt barallar-me ho he aconseguit, a partir d'una informació que només he trobat a:

http://www.schabell.org/2007/01/how-to-setup-exim4-on-ubuntu-linux.html

Ens falta editar el fitxer /etc/email-addresses

joan$ sudo joe /etc/email-addresses

afegeixo la línia:

joan:administrador@indicerural.com

on joan ha de ser un compte del sistema. És a dir, mapejo joan amb administrador@indicerural.com this file contains email addresses to use for outgoing mail

Proves d'enviar un correu

Amb la comanda mail tinc una sessió interactiva, que em pregunta el CC, tema i cos del missatge

$ mail administrador@indicerural.com #a qui vull enviar el mail

Per acabar d'escriure el missatge, cliclo Enter i un punt <.> (type a single period), i el missatge s'envia a la cua

Es pot comprovar si el missatge encara està a la cua fent

$ sudo mailq
$ echo "cos del missatge" | mail -s "assumpte" reservas@indicerural.com,joan_quintana@yahoo.com

Recordem que podem utilitzar varies línies amb el caràcter \:

$ echo "aquest és un cos del missatge que pot ser molt llarg" \
> | mail -s "assumpte també pot ser més llarg..." \
> administrador@indicerural.com

per enviar un fitxer amb adjunts, necessito instal.lar el paquet biabam

$ sudo apt-get install biabam

no ho he fet perquè no el troba en els repositoris. Per enviar el mail seria:

$ echo "cos del missatge" | biabam /ruta/al/fitxer.tgz -s "assumpte" destinatari1@email.com, destinatari2@email.com

En principi només es pot enviar un adjunt (que òbviament pot ser tun empaquetat)

Recordar que aquesta configuració és per enviar missatges, no per rebre'n

Canviar el fitxer /etc/hosts

edito /etc/hosts

$ sudo joe /etc/hosts
217.76.146.62	smtp.indicerural.com
sudo /etc/init.d/networking restart

reconfiguro exim4 posant smtp.indicerural.com en comptes de 217.76.146.62

faig una prova i no em surt

fitxer /etc/exim4/update-exim4.conf.conf

Amb dpkg-reconfigure exim4-config s'escriu en el fitxer update-exim4.conf.conf.

Aquí es mostra la configuració del fitxer que permet que el mail administrador@indicerural.com es pugui connectar al servidor 217.76.146.62 (és el smarthost, el SMTP de indicerural.com) i així pot enviar mails a tothom (per ex, a joan_quintana@yahoo.com)

# /etc/exim4/update-exim4.conf.conf
#
# Edit this file and /etc/mailname by hand and execute update-exim4.conf
# yourself or use 'dpkg-reconfigure exim4-config'
#
# Please note that this is _not_ a dpkg-conffile and that automatic changes
# to this file might happen. The code handling this will honor your local
# changes, so this is usually fine, but will break local schemes that mess
# around with multiple versions of the file.
#
# update-exim4.conf uses this file to determine variable values to generate
# exim configuration macros for the configuration file.
#
# Most settings found in here do have corresponding questions in the
# Debconf configuration, but not all of them.
#
# This is a Debian specific file

dc_eximconfig_configtype='smarthost'
dc_other_hostnames=''
dc_local_interfaces=''
dc_readhost='ubuntu'
dc_relay_domains=''
dc_minimaldns='false'
dc_relay_nets=''
dc_smarthost='217.76.146.62'
CFILEMODE='644'
dc_use_split_config='false'
dc_hide_mailname='false'
dc_mailname_in_oh='true'
dc_localdelivery='mail_spool'

Aquesta configuració és diferent de si el que jo vull és un servidor de correu propi en el meu servidor. Aleshores no m'hauré de connectar a cap smarthost sinó que és el meu servidor que haurà de fer de smarthost.

Per què és important utilitzar dpkg-reconfigure exim4-config en comptes d'editar el fitxer de configuració directament?

Resposta: si volem editar el fitxer update-exim4.conf.conf, després hem de fer

sudo update-exim4.conf

per generar i emmagatzemar el master configuration file que està a /var/lib/exim4/config.autogenerated.

Configuració amb el compte de gmail

Configuració del compte que tinc amb gmail:

   * joanqc@gmail.com/jq****
   * pop.gmail.com SSL enabled (port 995)
   * smtp.gmail.com SSL enabled (port 465) El servidor requiere autenticación (joanqc/jq****) 

En el vTiger (CRM), he aconseguit enviar mails cap enfora amb la següent configuració:

    * Server name: ssl://smtp.gmail.com:465
    * user name: joanqc
    * password: jq****
    * Requires authentification: si 

Veure com això ho puc utilitzar per enviar mails des de joanqc@gmail.com en comptes de administrador@indicerural.com

Actualització octubre 2011

S'ha explicat aquest tema en una pràctica de SAD i s'ha actualitzat la informació, fent-ho més simple:

Funciona perfectament la manera més simple de fer-ho (fitxer passwd.client). A més, també funciona enviar adjunts amb uuencode.


creat per Joan Quintana Compte, novembre 2008

Eines de l'usuari
Espais de noms
Variants
Accions
Navegació
IES Jaume Balmes
Màquines recreatives
CNC
Informàtica musical
joanillo.org Planet
Eines