Diferència entre revisions de la pàgina «E-mail Linux amb Sendmail»
Línia 51: | Línia 51: | ||
#: Com a alternativa podeu posar el nom de les màquines entre les que vulgueu enviar emails en els seus respectius arxius '''/etc/hosts'''. | #: Com a alternativa podeu posar el nom de les màquines entre les que vulgueu enviar emails en els seus respectius arxius '''/etc/hosts'''. | ||
# Configureu les respectives màquines perquè consultin el DNS del professor (arxiu '''/etc/resolv.conf'''). | # Configureu les respectives màquines perquè consultin el DNS del professor (arxiu '''/etc/resolv.conf'''). | ||
+ | #: NOTA IMPORTANT: per tal que funcioni l'enviament és imprescindible que els dos servidors puguin accedir al servei DNS, encara que al final fem servir l'adreça del /etc/hosts. | ||
# '''Obriu el port 25 (correu entrant)''' del ''sendmail'' per acceptar correu extern. Si no ho feu, el correu procedent d'una altra màquina no s'acceptarà. | # '''Obriu el port 25 (correu entrant)''' del ''sendmail'' per acceptar correu extern. Si no ho feu, el correu procedent d'una altra màquina no s'acceptarà. | ||
#:[http://ubuntuforums.org/showthread.php?t=1044835 Aquest article us pot servir]. Ull amb l'article, el què necessiteu està repartit en tot ell i té 2 pàgines. A grans trets cal modificar 2 línies (indicades al últim ''post'') del fitxer '''''sendmail.mc''''' i després cal reconstruir l'arxiu '''''sendmail.cf''''' a partir del primer amb la '''instrucció ''m4'''''. Això es fa així perquè l'arxiu ''sendmail.cf'' (que és el que el servidor utilitza) és molt complicat de tocar i sempre es fa a partir del primer. | #:[http://ubuntuforums.org/showthread.php?t=1044835 Aquest article us pot servir]. Ull amb l'article, el què necessiteu està repartit en tot ell i té 2 pàgines. A grans trets cal modificar 2 línies (indicades al últim ''post'') del fitxer '''''sendmail.mc''''' i després cal reconstruir l'arxiu '''''sendmail.cf''''' a partir del primer amb la '''instrucció ''m4'''''. Això es fa així perquè l'arxiu ''sendmail.cf'' (que és el que el servidor utilitza) és molt complicat de tocar i sempre es fa a partir del primer. |
Revisió del 11:30, 6 feb 2013
Instal·lar un servidor de correu electrònic és una tasca complicada. Primera perquè el servei ja té la seva sofisticació, però també perquè degut a que amb la proliferació del SPAM, els sistemes operatius com Ubuntu es cuiden de que no es pugui enviar el correu de qualsevol manera.
Particularment, si volem enviar correu a internet, cal que els servidors de correu de tot el món ens reconeguin com a sender o "remitent" vàlid. Per aconseguir-ho hem de tenir una IP (mundial, no local) fixa, i el nostre ISP ens sol proporcionar una de dinàmica (a no ser que ho demanem, pagant un plus). Per tant, en aquesta pràctica només realitzarem un servei de correu a les màquines locals.
Per fer-ho més realista configurarem un servidor DNS a la classe on tots els vostres servidors virtuals (FUNKYSERVER) hauran d'estar donats d'alta. Penseu, doncs, que els vostres servidors han de mirar aquest DNS per traduir els noms de les màquines dels vostres companys.
Si voleu fer proves abans d'incloure el vostre nom al DNS del professor o no el teniu disponible també podeu posar el nom i IP de la màquina destí (en format FQDN) a l'arxiu /etc/hosts.
Nota important: aquest article s'ha provat amb una màquina virtual Ubuntu Server 10.04 o Lucid Lynx, que de nom inicial tenia FUNKYSERVER.
Contingut
Configuració bàsica per correu local dins la pròpia màquina (entre 2 usuaris)
- Canviar el nom de màquina GNU/Linux amb FQDN (Full Qualified Domain Name). Els noms pelats com "funkyserver" no ens serveixen pel correu. Cal tenir una màquina amb nom complert dins d'un domini. L'exemple més senzill seria funkyserver.local. Però en aquesta pràctica cal que us busqueu un nom per la vostra màquina i que publicareu a través del servidor DNS del professor, per exemple, enric.local
- NOTA: aquest pas es podria ometre i podria funcionar, però cada email tardaria uns 2 minuts en enviar-se i ralentitzaria la màquina de manera força exagerada. Si veieu que un servidor triga molt en arrencar aturant-se en el servei sendmail pot ser que s'arregli posant-li un FQDN.
- Crear al menys 2 usuaris: Crear usuaris en Linux. Ens calen per poder enviar emails d'un usuari a l'altre.
- Instal·lar els paquets següents:
- sendmail: serà el nostre servidor de correu sortint i entrant.
- alpine: és un client de correu per terminal. Com que estem en un servidor (sense entorn gràfic) podrem accedir al nostre correu amb la comanda "alpine" i un menú interactiu.
- Revisarem el fitxer /etc/mail/local-host-names , hi ha de figurar el nom de la màquina correcte.
- Reiniciarem el servei sendmail
$ sudo service sendmail restart
- Proveu a enviar emails d'un usuari a l'altre dins la mateixa màquina utilitzant el client alpine.
Si configurant aquestes passes el servidor no funciona, podeu consultar què ha passat amb el missatge enviat mirant els arxius de log, que poden variar segons la versió però que solen ser:
- /var/log/mail.log (aquest és el de la versió que ve amb la Ubuntu 12.04)
- /var/log/mail.info (aquest solia ser el de la versió que ve amb la Ubuntu 10.04)
- /var/log/mail.err
...o d'altres que estan a la mateixa carpeta. Amb la instrucció tail (cua) que ens mostra les darreres línies:
$ tail /var/log/mail.log
Proves
Per comprovar que funciona prova d'enviar emails entre 2 usuaris. Hauràs de crear-ne al menys un (amb la comanda adduser). Pots enviar i rebre els emails quan et logues amb l'usuari utilitzant l'aplicació en mode text alpine.
ULL! el format dels emails és
<usuari>@<maquina>.<domini>
Per exemple, la meva màquina funkyserver l'he reanomenat (FQDN) a enric.local i tenia un usuari "funky". El seu email seria:
[email protected]
Configurar el correu entre 2 servidors
- Doneu d'alta el vostre servidor al DNS del professor. El nom que heu triat per la màquina ha de ser el mateix que el què poseu al DNS.
- Com a alternativa podeu posar el nom de les màquines entre les que vulgueu enviar emails en els seus respectius arxius /etc/hosts.
- Configureu les respectives màquines perquè consultin el DNS del professor (arxiu /etc/resolv.conf).
- NOTA IMPORTANT: per tal que funcioni l'enviament és imprescindible que els dos servidors puguin accedir al servei DNS, encara que al final fem servir l'adreça del /etc/hosts.
- Obriu el port 25 (correu entrant) del sendmail per acceptar correu extern. Si no ho feu, el correu procedent d'una altra màquina no s'acceptarà.
- Aquest article us pot servir. Ull amb l'article, el què necessiteu està repartit en tot ell i té 2 pàgines. A grans trets cal modificar 2 línies (indicades al últim post) del fitxer sendmail.mc i després cal reconstruir l'arxiu sendmail.cf a partir del primer amb la instrucció m4. Això es fa així perquè l'arxiu sendmail.cf (que és el que el servidor utilitza) és molt complicat de tocar i sempre es fa a partir del primer.
- Recordeu-vos de reiniciar el servei sendmail amb
$ sudo service sendmail restart
Proves
Comproveu que funciona el sistema enviant un email a una màquina d'un company de classe. És molt important que us tingueu registrats mútuament a l'arxiu /etc/hosts.
Recordeu també la sintaxi de l'adreça de correu:
<usuari>@<maquina>.<domini>
Si no us funciona, teniu 2 opcions:
- Mirar l'arxiu de registre (log) on queda la traça de totes les accions del sendmail:
$ tail /var/log/mail.info
- Mirar els emails de l'usuari root, allà també ens donarà informació si hi ha algun error en el sistema. A l'usuari remitent també li sol arribar un email amb informació que ens pot aclarir què està passant. LLEGIU-LO!
Ampliacions de la pràctica
- Configurar servei de consulta de correu POP3 o IMAP i configurar un client com el Thunderbird, el Outlook o el Evolution.
- Enviar emails des de la línia de comandes (molt útil per realitzar scripts).
- Instal·lar una interfície web de correu com squirrelmail.
Configuració d'un servidor smarthost
...TODO...