E-mail Linux amb Sendmail

De Cacauet Wiki
Salta a la navegació Salta a la cerca

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.


Configuració bàsica per correu local dins la pròpia màquina (entre 2 usuaris)

  1. 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.
  2. Crear al menys 2 usuaris: Crear usuaris en Linux. Ens calen per poder enviar emails d'un usuari a l'altre.
  3. 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.
  4. Revisarem el fitxer /etc/mail/local-host-names , hi ha de figurar el nom de la màquina correcte.
  5. Reiniciarem el servei sendmail
    $ sudo service sendmail restart
  6. 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 l'arxiu /var/log/mail.info (o d'altres que estan a la mateixa carpeta). Per exemple amb la instrucció tail (cua) que ens mostra les darreres línies:

$ tail /var/log/mail.info


Configurar el correu entre 2 servidors

  1. 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.
  2. Configureu les respectives màquines perquè consultin el DNS del professor (arxiu /etc/resolv.conf).
  3. 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.
  4. Recordeu-vos de reiniciar el servei sendmail amb
    $ sudo service sendmail restart


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.