Send test mail linux

How to check if SMTP is working from commandline (Linux) [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.

This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.

I have a SMTP-server, for the purpose of this question lets call it: smtp.mydomain.example . How do I check if the SMTP-server is in working? Can I send emails manually from Linux commandline?

@Flexo Shouldn’t such questions be migrated rather than closed ? This one looks like it belongs to Serverfault

@Balmipour old questions can’t be migrated, even by moderators. There are good reasons for this discussed on meta.stackexchange.com (I don’t have a link to hand right now), but note that the question isn’t deleted.

After checking several posts on Meta, it seems (to me) migrating «just» needs to reopen first. Maybe this isn’t possible with old questions, btw. I guess you know that better than me. Anyway, thanks for your answer. A more relevant point I’ve read in meta posts was that migration seems to require a «particularly valuable» question. Not that this one is useless, but it’s not a jewel either. I don’t understand this much, since SO is overrated over other sites like ServerFault / Linux or Superuser, but I’ll keep the debate for another day (and it belongs to Meta anyway, not SO 🙂

4 Answers 4

Syntax for establishing a raw network connection using telnet is this:

So telnet to your SMTP server like

telnet smtp.mydomain.example 25 

And copy and paste the below

helo client.mydomain.example mail from: rcpt to: data From: test@mydomain.example Subject: test mail from command line this is test number 1 sent from linux box . quit 

Note : Do not forgot the «.» at the end which represents the end of the message. The «quit» line exits ends the session.

You should wait for the servers’s response to each command, and abort if you get and error (4xx or 5xx result code).

Instead of hello velanapps.com you should write helo velanapps.com and if you want to know which smtp extensions are available, you should write ehlo velanapps.com , as in SMTP Example

This answer was useful, however I omitted the first line in my tests. I stil got emails through from the smtp server. It would be helpful if you could include a little bit about what the velanapps.com domain is doing here. I am always wary when I see a domain used for something like this with no explanation as to what its doing with our data. Thanks.

Читайте также:  Системное программное обеспечение gnu linux

The only thing about using telnet to test postfix, or other SMTP, is that you have to know the commands and syntax. Instead, just use swaks 🙂

thufir@dur:~$ thufir@dur:~$ mail -f Maildir "/home/thufir/Maildir": 4 messages > 1 thufir@dur.bouncem 15/553 test Mon, 30 Dec 2013 10:15:12 -0800 2 thufir@dur.bouncem 15/581 test Mon, 30 Dec 2013 10:15:55 -0800 3 thufir@dur.bouncem 15/581 test Mon, 30 Dec 2013 10:29:57 -0800 4 thufir@dur.bouncem 15/581 test Mon, 30 Dec 2013 11:54:16 -0800 ? q Held 4 messages in /home/thufir/Maildir thufir@dur:~$ thufir@dur:~$ swaks --to thufir@dur.bounceme.net === Trying dur.bounceme.net:25. === Connected to dur.bounceme.net. EHLO dur.bounceme.net MAIL FROM:  RCPT TO:  DATA . -> Date: Mon, 30 Dec 2013 14:33:17 -0800 -> To: thufir@dur.bounceme.net -> From: thufir@dur.bounceme.net -> Subject: test Mon, 30 Dec 2013 14:33:17 -0800 -> X-Mailer: swaks v20130209.0 jetmore.org/john/code/swaks/ -> -> This is a test mailing -> -> . QUIT N 5 thufir@dur.bouncem 15/581 test Mon, 30 Dec 2013 14:33:17 -0800 ? 5 Return-Path: X-Original-To: thufir@dur.bounceme.net Delivered-To: thufir@dur.bounceme.net Received: from dur.bounceme.net (localhost [127.0.0.1]) by dur.bounceme.net (Postfix) with ESMTP id 52D162C3EFF for ; Mon, 30 Dec 2013 14:33:17 -0800 (PST) Date: Mon, 30 Dec 2013 14:33:17 -0800 To: thufir@dur.bounceme.net From: thufir@dur.bounceme.net Subject: test Mon, 30 Dec 2013 14:33:17 -0800 X-Mailer: swaks v20130209.0 jetmore.org/john/code/swaks/ Message-Id: This is a test mailing New mail has arrived. ? q Held 5 messages in /home/thufir/Maildir thufir@dur:~$ 

It’s just one easy command.

Источник

Send test mail linux

author image

Dibya Sahoo🥑

Published on 2019-10-17· Updated on 2021-12-15

The author voluntarily contributed this tutorial as a part of Pepipost Write to Contribute program.

Introduction

Linux by default comes with a mail command which can be used to sendmail from command line. Here in this tutorial let’s understand all the pre-requisites for how to test sendmail from Linux Command Line and everything else that you need to know before testing a Sendmail.

Prerequisites:

You need to just ensure that there is a Mail Transfer Agent (MTA) installed e.g. sendmail or postfix and configured on your server.

By default, mail command won’t be able to send mails. It can just accept your mail sending request and the request then can be forwarded to the MTA to sendmail.

Optional Step: In case you don’t have sendmail or postfix installed

You can follow the below links to install and configure a Mail Transfer Agent:

Postfix is definitely the most powerful open source to send mail, but if you just want to send a simple test mail, then try ssmtp or msmtp.
SSMTP is actually depreciated and hence it is recommended to use its alternative like msmtp or OpenSMTPD.

Читайте также:  Unzip linux все файлы

These are lighter version MTAs and doesn’t necessarily require you to keep running their daemon programs like it is there in case of postfix. It has most of the feature support like secure mail sending or sending mail with Gmail.

Quick Sendmail Test from the Linux command line

Once the installation is done, just run the following command and you will be able to send a test mail from your command line:

Using echo with pipe avoids the unnecessary prompts or confirmation from getting displayed.

Optional Read

If you have installed postfix or Sendmail, then you can directly do sendmail test using the below command:

For Ubuntu users: You need to first install mailutils and then set up a mail sending server or MTA.

Use the below command to install mailutils:

sudo apt-get install mailutils

For CentOS users: You need to first install mailx and then set up a mail sending server or MTA.

Note: If you have set up a mail sending server or Mail Transfer Agents like Postfix or sendmail and trying to send test mail using Gmail SMTP and getting some authentication error then no need to worry because there are few additional security-related configurations which you need to be done on Gmail.

To sendmail from Gmail, you need to turn on the «Access for Less Secure Apps». For more help, refer to this link.

Grade My Email
Check your spam now?

Netcorecloud’s toolkit is the solution to all your email problems.

Источник

Отправка почты из командной строки (консоли) Linux

date

21.04.2021

user

VyacheslavK

directory

CentOS, Linux, Ubuntu

comments

комментария 4

В данной статье мы рассмотрим основные утилиты для отправки электронных писем по SMTP из консоли Linux – mail/mailx/mutt. Данная инструкция применима ко всем современным дистрибутивам Linux.

Для отправки почты из командной строки Linux вам нужно установить Mail User Agent, которые умеет подключаться к smtp серверам для отправки и получения почты.

В первую очередь рассмотрим утилиту mail (mailx). Для ее установки, выполните:

установка mailx в linux

Mailx содержит в себе несколько утилит для работы с почтой, мы же подробно остановимся на mail.

Обратите внимание, что на вашем хосте обязательно должен быть установлен какой-нибудь почтовый сервер. Например, postfix или sendmail:

Основные опции при отправке писем:

Чтобы отправить простое сообщение из консоли Linux, воспользуйтесь командой:

# echo «Это тестовое письмо» | mail -s «Проверка отправки почты» [email protected]

Проверьте, что письмо доставлено в ящик.

отправка тестового письма из консоли linux с помощью mail

Если вам нужно посмотреть подробные логи отправки писем по SMTP, их можно посмотреть в файле:

smtp логи отправки в var/log/maillog

Без указания дополнительных опций письмо отправляется с дефолтного почтового ящика и скорее всего будет помечено как спам в большинстве популярных почтовых сервисах.

Чтобы указать другого отправителя письма (mail from), используйте ключ -r:

# echo «Это тестовое письмо 2» | mail -s «Проверка отправки почты 2» -r [email protected] [email protected]

Читайте также:  Команда добавить пользователя linux

Если нужно отправить письмо нескольким получателям, перечислите их через запятую:

# echo «Это тестовое письмо 3» | mail -s «Проверка отправки почты 3» -r ad[email protected] [email protected], [email protected]

отправка письма нескольким получателям

Как видите, письмо было отправлено двум получателям. А с помощью ключа -c вы можете отправить копию письма на указанный ящик:

# echo «Это тестовое письмо 4» | mail -s «Проверка отправки почты 4» -r [email protected] -c [email protected]

Если вам нужно прикрепить к письму файл, укажите путь к файлу в параметре –a.

# echo «Файл во вложении» | mail -s «Проверка вложения» -a /root/test.txt -r [email protected] [email protected]

отправка письма с вложением

В указанных почтовый ящик должно прийти письмо с вложением. Если нужно отпрравить два или более файлов, добавьте каждый файл через собственный атрибут –a:

# echo «Вложены 2 файла » | mail -s «Вложение нескольких файлов » -a /root/test.txt -a /root/message.log -r [email protected] [email protected]

Вы можете отправить письмо через конкретный SMTP сервер. Его имя и порт подключения указываются в параметре -S smtp= :

# echo «Messages smtp server» | mail -s «Test smtp server» -S smtp=»build-centos.ru:25″ -r [email protected] [email protected]

показать заголовки smtp письма

Если удаленный SMTP сервер требует авторизации перед отправкой, вы можете указать имя пользователя и пароль с помощью параметров -S smtp-auth-user и -S smtp-auth-password.

При запуске этой команды перед вами появятся список SMTP команд для подключения, авторизации и отправки почты.

лог smtp подключения

Если для отправки нужно использовать TLS шифрование и игнорировать проверку подлинности сертификата сервера, добавьте параметры:

-S smtp-use-starttls
-S ssl-verify=ignore

Чтобы не задавать все параметры в командной строке, вы можете указать их в файле ~/.mailrc. Например, добавьте в этот файл такие строки:

set smtp-use-starttls set ssl-verify=ignore set smtp=smtp://smtp.gmail.com:587 set smtp-auth=login set smtp-auth-u[email protected] set smtp-auth-password=sdf#23ddsH3sq9- set from= [email protected]

Теперь для отправки письма через релей Gmail с аутентификацией достаточно выполнить команду:

$ echo «Test mail » | mail -v -s «Testing gmail auth» [email protected]

Вы можете использовать команду отправки почты для в своих bash скриптом. Например, создайте следующий скрипт, которые будет отправлять вам информацию по свободному месту на дисках:

Добавьте этот скрипт в планировщик cron и вы будете регулярно получать письма с информацией о свободном месте на вашем сервере.

0 0 * * * /home/root/freespace.sh

Еще одна популярная утилита для отправки почты в Linux это mutt:

# sudo apt-get install mutt — для Debian/Ubuntu

# yum install mutt -y — для CentOS/Redhat

установка mutt в linux

Синтаксис mutt такой же, как и у mail/ mailx:

# echo «Text messages mutt» | mutt -s «Test mutt» [email protected]

отправка тестового письма из mutt

Если вам нужно просто проверить работу удаленного SMTP сервера, вы можете отправить письмо вручную через telnet.

Таким образом, вы можете легко отправлять письма из командной строки, встраивать отправку email оповещений в свои bash скрипты или ватчдоги (удобно для контроля их выполнения).

Предыдущая статьяПредыдущая статья Следующая статья Следующая статья

Источник

Оцените статью
Adblock
detector