Як налаштувати ssmtp та надіслати електронні листи?


10

Я новачок у малиновому пі.

Я встановив на нього розпійну ОС. Я хочу надсилати електронні листи з нього за допомогою мого облікового запису gmail. Я хочу надсилати з інтерфейсу командного рядка та з PHP-скриптів.

Я дотримувався цього керівництва. http://iqjar.com/jar/sending-emails-from-the-raspberry-pi/

Я зробив кроки 1,2,3,4 із посилання.

Коли я надсилаю електронний лист, використовуючи наведений нижче код

echo "Test text" | mail -s "Test Mail" me2@gmail.com

нічого не відбувається, нічого не друкується на екрані, і я не отримую електронного листа.

У випадку "revaliases", якщо я заміню "mail.google" на "smtp.gmail", я отримую повідомлення із повідомленням

send-mail: Cannot open mail.google.com:587

або

send-mail: Server didn't like our AUTH LOGIN (530 5.7.0 Must issue a STARTTLS command first. ml2sm3592928igb.10 - gsmtp)

Хтось знає, як це виправити? Дякую

Ось два файли нижче:

ssmtp.conf

#
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
# root=postmaster

# The place where the mail goes. The actual machine name is required no 
# MX records are consulted. Commonly mailhosts are named mail.domain.com
# mailhub=mail

# Where will the mail seem to come from?
#rewriteDomain=

# The full hostname
hostname=raspberrypi

# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
FromLineOverride=YES


root=me@gmail.com
mailhub=smtp.gmail.com:587
AuthUser=me@gmail.com
AuthPass=mypass
UseSTARTTLS=YES

переоцінює

# sSMTP aliases
# 
# Format:   local_account:outgoing_address:mailhub
#
# Example: root:your_login@your.domain:mailhub.your.domain[:port]
# where [:port] is an optional port number that defaults to 25.

root:me@gmail.com:mail.google.com:587

2
Це не конкретне питання з малиною, спробуйте: - unix.stackexchange.com
Milliways

погляньте на це це raspberry.znix.com/2013/03/postfix-better-solution-for-rpi.html . Крім того, якщо ви використовуєте 2factor auth з google, вам потрібно використовувати специфічний пароль програми, а не пароль, який ви використовуєте для входу в gmail через Інтернет.
Стів Робіллард

Як отримати пароль для додатка ??
омега

Ви пробували UseSTARTTLS=NO?
золотинки

так, але все одно не вийшло.
омега

Відповіді:


4

Ви, мабуть, це вже зрозуміли, але я помітив у вашому файлі ssmtp.conf: root=me@gmail.com

Однак у посиланні, яке ви опублікували, написано: root = postmaster

Я залишив це так і просто змінив інші частини me@gmail.com, і це працює на мене. Дякуємо за вашу допомогу, але мене це переклало ...


2

Насправді вам нічого не потрібно встановлювати. Exim вже встановлений на Raspbian, але він налаштований за замовчуванням, щоб залишатися локальним. Вам просто потрібно змінити файл "update-exim4.conf.conf" "dc_eximconfig_configtype = 'супутник' тощо."


1

У мене було саме таке питання.

Виявилось, що gmail заблокував запит, оскільки smtp-клієнт перебуває у чорному списку як незахищений (ймовірно, це один із клієнтів, постраждалих від сердечної помилки)

Ви можете дозволити менш безпечним клієнтам у налаштуваннях gmail тут: https://support.google.com/accounts/answer/6010255?hl=uk

або, ще краще, оновлення до новішої версії smtp-клієнта, якщо це можливо


1

Я думаю, ти шукаєш цього:

/unix/363814/simplest-way-to-send-one-line-mail-out-via-command-line-using-gmail

ЕКСЕРПТ:

Відповідь на надсилання однорядних повідомлень полягає у використанні ssmtp

Встановіть його за допомогою наступних команд:

sudo apt-get update
sudo apt-get install ssmtp

Потім увійдіть у / etc / ssmtp та відредагуйте ssmtp.conf, щоб виглядати так:

root=rpi3abc@gmail
mailhub=smtp.gmail.com:465
FromLineOverride=YES
AuthUser=rpi3abc@gmail.com
AuthPass=testing123
UseTLS=YES

Надішліть однолінійку так:

echo "Testing...1...2...3" | ssmtp myusername@gmail.com

Ви також можете промацати цілий файл і передати його як повідомлення.


Якщо ви хочете надіслати файли зображень у вигляді вкладень, ви хочете цього:

/unix/381131/simplest-way-to-send-mail-with-image-attachment-from-command-line-using-gmail

Це в основному те саме, але додає:

Встановити mpack:

apt-get update
sudo apt-get install mpack

Потім надішліть зображення у вигляді вкладення так:

mpack -s "P&L Proj 2018" /home/pi/Desktop/finance/PL18.png importantdude@gmail.com

Якщо файл знаходиться у поточному каталозі, не потрібно використовувати повністю кваліфікований шлях до вкладення.

Якщо ви використовуєте в cron, пам’ятайте, що завдання завжди виконуються в домашньому каталозі користувача, тому добре використовувати повний шлях до файлу до файлу вкладень.

Вуаля. Це воно. Не може бути простіше.

Він працює як на Raspbian, так і на всіх пізніших версіях Ubuntu.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.