Script Bash per enviar correus electrònics

Bash Script Send Email



El correu electrònic és ara un mitjà de comunicació molt comú al món actual. Qualsevol persona pot comunicar o compartir fàcilment qualsevol document amb amics, familiars i companys de feina enviant el correu electrònic. En general, la gent utilitza qualsevol servidor de correu electrònic gratuït com Gmail, Yahoo, Hotmail, etc. per enviar el correu electrònic. Però podeu enviar correus electrònics des de la línia d’ordres fàcilment al sistema operatiu Linux. Hi ha moltes maneres d’enviar correus electrònics a Linux. En aquest tutorial es mostren algunes maneres fàcils i comunes d’enviar correus electrònics al sistema operatiu Ubuntu des del terminal.

Inicialització:

Molts comandaments de Linux estan disponibles per enviar correus electrònics des de la línia d’ordres o mitjançant un script bash. Però qualsevol ordre d’enviament de correu electrònic no funcionarà si no hi ha cap servidor SMTP configurat correctament al sistema. Podeu configurar el vostre propi servidor SMTP per enviar correus electrònics des de la línia d’ordres o podeu utilitzar qualsevol servidor SMTP gratuït de qualsevol proveïdor de serveis de correu electrònic conegut com Gmail o Yahoo. En aquest tutorial s’utilitza el servidor SMTP d’un compte de Gmail. Per fer aquesta tasca, heu de seleccionar un compte de Gmail i habilitar l'opció 'Permet que les aplicacions siguin menys segures' perquè aquest compte enviï el correu electrònic. Podeu visitar el següent tutorial per habilitar aquesta opció.







https://linuxhint.com/how-to-send-email-from-php/



Després d’activar aquesta opció, heu d’obrir el fitxer ‘/etc/ssmtp/ssmtp.conf’ amb el privilegi ‘root’ i afegir les línies següents al final del fitxer. Heu d’establir la vostra adreça de correu electrònic a ‘AuthUser’ i la vostra contrasenya de correu electrònic a ‘AuthPass’ per completar la configuració.



Utilitzeu STARTTLS= SÍ
FromLineOverride= SÍ
arrel= administrador@example.com
mailhub= smtp.gmail.com:587
AuthUser= nom d'usuari@gmail.com
AuthPass= contrasenya

Exemple-1: utilitzant l'ordre Sendmail

Una de les ordres més populars d’enviament de correu electrònic de Linux és `sendmail`. L'usuari pot enviar correus electrònics fàcilment des de la línia d'ordres mitjançant aquesta ordre. Si el paquet Sendmail no està instal·lat al sistema, executeu l'ordre següent per instal·lar el paquet.





$suoapteinstal·larssmtp

Suposem que el contingut del correu electrònic s’emmagatzema en un fitxer anomenat ‘email.txt’ amb el contingut següent. Aquí, el text després de l’assumpte: s’enviarà com a assumpte del correu electrònic i la part restant s’enviarà com a cos del correu electrònic.

email.txt



Assumpte: enviament de correu electrònic mitjançant sendmail
Prova del cos del correu electrònic

Executeu l'ordre `sendmail 'amb l'adreça de correu electrònic del destinatari, com l'ordre següent.

$Envia un correunom d'usuari@gmail.com<email.txt

Exemple-2: utilitzant l’ordre ‘mail’

L'ordre més comú per enviar correus electrònics a Linux és l'ordre `mail`. Aquesta ordre no està instal·lada per defecte a Ubuntu. Executeu l'ordre següent per instal·lar l'ordre `mail`.

$suoapteinstal·larmailutils

L'ordre següent mostrarà la versió d'aquesta ordre si està instal·lada al sistema.

$correu electrònic-V

L'opció '-s' s'utilitza a l'ordre 'mail' per definir l'assumpte del correu electrònic. Executeu l'ordre 'mail' mitjançant l'opció '-s' amb l'assumpte del correu electrònic i l'adreça electrònica del destinatari, com l'ordre següent. Demanarà Cc: adreça. Si no voleu utilitzar el camp Cc: manteniu-lo en blanc i premeu Retorn. Escriviu el cos del missatge i premeu Ctrl + D per enviar el correu electrònic.

$correu electrònic-s 'assignatura'nom d'usuari@gmail.com

Si voleu afegir el cos del missatge de correu electrònic a l’ordre, feu servir ‘<<<’ operator like the following command.

$correu electrònic-s 'tema del missatge'nom d'usuari@gmail.com<<< 'prova del cos del missatge'

També podeu afegir l'adreça de correu electrònic del remitent amb l'ordre `mail` mitjançant l'opció '-a'. L'ordre següent enviarà el correu electrònic amb l'assumpte, 'assumpte del missatge', el nom del remitent i l'adreça electrònica, 'Administrador<[correu electrònic protegit]> ’I adreça de correu electrònic del destinatari,[correu electrònic protegit]i el cos del missatge, 'missatge de prova'.

$ mail-s 'tema del missatge' -aDe: administrador <administrador@example.com >
nom d'usuari@gmail.com<<< 'missatge de prova'

També podeu enviar un cos de missatge de correu electrònic mitjançant l'ordre echo and pipe (|). L'ordre següent utilitza l'ordre pipe (|) per enviar el cos del missatge.

$trobo 'missatge de prova' |correu electrònic-s 'tema del missatge'nom d'usuari@example.com

El correu electrònic es pot enviar a diversos destinataris mitjançant l'ordre `mail` i afegir les adreces dels destinataris separant la coma. L'ordre següent s'enviarà per correu electrònic a dos destinataris.

$correu electrònic-s 'Prova de correu electrònic'nom d'usuari1@example.com, nom d'usuari2@example.com<test.txt

Exemple-3: utilitzant l'ordre `mutt`

Igual que l'ordre `mail`, l'ordre` mutt` no està instal·lat per defecte a Ubuntu. Executeu l'ordre següent per instal·lar l'ordre `mutt`.

$suoapteinstal·larmutt

L'ordre 'mutt' funciona de manera similar a l'ordre 'mail', però l'ordre 'mutt' té un editor propi per enviar el correu electrònic. Executeu l'ordre següent amb l'adreça de correu electrònic vàlida per enviar-lo.

$trobomissatge de prova|mutt-s 'Prova de correu electrònic'nom d'usuari@example.com

Podeu adjuntar qualsevol fitxer mitjançant l'opció '-a' amb l'ordre 'mail` o' mutt`. L'ordre següent adjuntarà el fitxer items.txt mentre s'envia el correu electrònic.

$trobo 'missatge de prova' |mutt-s 'tema del missatge' -aarticles.txt-nom d'usuari@gmail.com

Exemple-4: utilitzant l’ordre ‘SSMTP’

Una altra ordre de correu electrònic és l'ordre `ssmtp`. Si ssmtp no està instal·lat abans, instal·leu primer el paquet. L'ordre d'instal·lació de ssmtp es mostra a l'exemple-1. Les ordres ssmtp i sendmail funcionen de manera similar.

Executeu l'ordre següent amb l'adreça de correu electrònic vàlida. Escriviu l’assumpte i el cos del correu electrònic. Premeu Ctrl + D per sortir i enviar el correu electrònic.

$nom d'usuari ssmtp@gmail.com

Exemple-5: utilitzant l'ordre mailx

Podeu enviar contingut HTML com a cos de correu electrònic sense enviar només el missatge de text. Creeu un fitxer HTML anomenat 'test.html' per utilitzar-lo com a cos del missatge.

test.html

< html >
< cos >>
< h3 >Enviament de correu electrònic</ h3 >
< fer mida='2' color='Xarxa'>Test del cos del missatge</ fer >
<</ cos >
</ html >

L'ordre 'mailx' funciona com l'ordre 'mail'. Heu d'esmentar Content-Type com a text / html per enviar contingut HTML com a cos del missatge a l'ordre `mailx`. L’ordre següent enviarà el contingut del fitxer ‘test.html’ com a cos del missatge de correu electrònic.

$ mailx-a 'Tipus de contingut: text / html' -s 'Enviament de correu electrònic mitjançant mailx'
<test.html'[email protected]'

Quan comproveu la safata d'entrada del compte de correu electrònic del destinatari, la llista de correus electrònics es mostrarà com a imatge següent.

Conclusió

Després de practicar correctament les ordres anteriors, esperem que el lector pugui enviar correus electrònics des de la línia d’ordres fàcilment a Linux.