Bash скрипт за изпращане на имейл

Bash Script Send Email



Имейлът е много често срещано средство за комуникация в днешния свят. Всеки може лесно да общува или да споделя всеки документ с приятели, членове на семейството и колеги, като изпрати имейла. Обикновено хората използват всеки безплатен имейл сървър като Gmail, Yahoo, Hotmail и др. За изпращане на имейла. Но можете лесно да изпращате имейл от командния ред в операционната система Linux. Има много начини за изпращане на имейл в Linux. Някои общи и лесни начини за изпращане на имейл в операционна система Ubuntu от терминала са показани в този урок.

Инициализация:

Налични са много команди за Linux за изпращане на имейл от командния ред или чрез bash скрипт. Но всяка команда за изпращане на имейл няма да работи, ако в системата няма правилно настроен SMTP сървър. Можете да настроите свой собствен SMTP сървър за изпращане на имейл от командния ред или можете да използвате всеки безплатен SMTP сървър на всеки известен доставчик на имейл услуги като Gmail или Yahoo. В този урок се използва SMTP сървър на Gmail акаунт. За да изпълните тази задача, трябва да изберете акаунт в Gmail и да активирате опцията „Разрешаване на по -малко сигурни приложения“ за този акаунт да изпраща имейла. Можете да посетите следния урок, за да активирате тази опция.







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



След като активирате тази опция, трябва да отворите файла „/etc/ssmtp/ssmtp.conf“ с привилегия „root“ и да добавите следните редове в края на файла. Трябва да зададете имейл адреса си на „AuthUser“, а паролата на имейл на „AuthPass“, за да завършите настройката.



Използвайте STARTLS= ДА
FromLineOverride= ДА
корен= администратор@example.com
mailhub= smtp.gmail.com:587
AuthUser= потребителско име@gmail.com
AuthPass= парола

Пример-1: Използване на командата Sendmail

Една от популярните команди за изпращане на имейли в Linux е `sendmail`. Потребителят може лесно да изпраща имейл от командния ред, като използва тази команда. Ако пакетът Sendmail не е инсталиран в системата, изпълнете следната команда, за да инсталирате пакета.





$sudoподходящИнсталирайssmtp

Да предположим, че съдържанието на имейла се съхранява във файл с име „email.txt“ със следното съдържание. Тук текстът след „Subject:“ ще бъде изпратен като тема на имейл, а останалата част ще бъде изпратена като тяло на имейл.

email.txt



Тема: Изпращане на имейл с помощта на sendmail
Тестване на тялото на имейла

Изпълнете командата „sendmail“ с имейл адреса на получателя като следната команда.

$изпрати писмопотребителско име@gmail.com<email.txt

Пример-2: Използване на командата „поща“

Най -често срещаната команда за изпращане на имейл в Linux е команда „поща“. Тази команда не е инсталирана на Ubuntu по подразбиране. Изпълнете следната команда, за да инсталирате командата `mail`.

$sudoподходящИнсталирайпощенски писма

Следващата команда ще покаже версията на тази команда, ако е инсталирана в системата.

$поща-V

Опцията „-s“ се използва в командата „поща“ за определяне на темата на имейла. Изпълнете командата „поща“ чрез опцията „-s“ с темата на имейла и имейл адреса на получателя като следната команда. Той ще поиска Cc: адрес. Ако не искате да използвате полето Cc:, оставете го празно и натиснете enter. Въведете тялото на съобщението и натиснете Ctrl+D, за да изпратите имейла.

$поща 'предмет'потребителско име@gmail.com

Ако искате да добавите тялото на имейл съобщението в командата, използвайте „<<<’ operator like the following command.

$поща 'тема на съобщението'потребителско име@gmail.com<<< „тестващо съобщение“

Можете също да добавите имейл адреса на изпращача с команда „поща“, като използвате опцията „-a“. Следващата команда ще изпрати имейла с темата, „темата на съобщението“, името на изпращача и имейл адреса „Администратор<[защитен имейл]> 'И имейл адрес на получател,[защитен имейл]и текст на съобщението, „съобщение за тестване“.

$ поща 'тема на съобщението' -да сеОт: Администратор <администратор@example.com >
потребителско име@gmail.com<<< „тестово съобщение“

Можете също да изпратите тялото на имейл съобщение, като използвате командата echo и pipe (|). Следващата команда използва командата pipe (|) за изпращане на тялото на съобщението.

$изхвърлен „тестово съобщение“ |поща 'тема на съобщението'потребителско име@example.com

Имейлът може да бъде изпращан до множество получатели с помощта на команда „поща“ и добавяне на адресите на получателите чрез разделяне на запетая. Следващата команда ще бъде изпратена по имейл до двама получатели.

$поща „Тестване на имейл“потребителско име1@example.com, потребителско име2@example.com<test.txt

Пример-3: Използване на командата `mutt`

Подобно на командата `mail`, командата` mutt` не е инсталирана в Ubuntu по подразбиране. Изпълнете следната команда, за да инсталирате командата `mutt`.

$sudoподходящИнсталираймрънка

Командата `mutt` работи подобно на командата` mail`, но командата `mutt` има собствен редактор за изпращане на имейла. Изпълнете следната команда с валиден имейл адрес, за да изпратите имейла.

$изхвърлентестово съобщение|мрънка „Тестване на имейл“потребителско име@example.com

Можете да прикачите всеки файл, като използвате опцията „-a“ с командата „mail“ или „mutt“. Следващата команда ще прикачи файла items.txt, докато изпраща имейла.

$изхвърлен „тестово съобщение“ |мрънка 'тема на съобщението' -да сеitems.txt-потребителско име@gmail.com

Пример-4: Използване на команда „SSMTP“

Друга команда за имейл е командата `ssmtp`. Ако ssmtp не е инсталиран преди, първо инсталирайте пакета. Инсталационната команда за ssmtp е показана в пример-1. Командите ssmtp и sendmail работят по подобен начин.

Изпълнете следната команда с валиден имейл адрес. Въведете темата и тялото на имейла. Натиснете ctrl+D, за да излезете и изпратите имейла.

$ssmtp потребителско име@gmail.com

Пример-5: Използване на командата mailx

Можете да изпращате HTML съдържание като тяло на имейл, без просто да изпращате текстовото съобщение. Създайте HTML файл с име „test.html“, който да използвате като тяло на съобщението.

test.html

< html >
< тяло >>
< h3 >Изпращане на имейл</ h3 >
< направете размер='2' цвят='мрежа'>Тестване на тялото на съобщението</ направете >
<</ тяло >
</ html >

Командата `mailx` работи като командата` поща`. Трябва да споменете Content-Type като текст/html, за да изпратите HTML съдържание като тяло на съобщението в командата `mailx`. Следващата команда ще изпрати съдържанието на файла „test.html“ като тяло на имейл съобщението.

$ поща-да се „Тип съдържание: текст/html“ „Изпращане на имейл с помощта на mailx“
<test.html'[защитен имейл]'

Когато проверите входящата поща на имейл акаунта на получателя, списъкът с имейлите ще се покаже като следното изображение.

Заключение

След като практикувате правилно горните команди, надявам се читателят да може лесно да изпраща имейли от командния ред в Linux.