Как настроить ssmtp и отправлять электронные письма?

10

Я новичок в Raspberry Pi.

Я установил на него raspian OS. Я хочу отправлять с него электронные письма, используя мой аккаунт 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

revaliases

# 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
Это не конкретный вопрос о Малине,
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 = 'satellite' и т. Д."

Оливер Т.
источник
1

У меня была та же проблема.

Оказалось, что gmail заблокировал запрос, потому что клиент smtp занесен в черный список как небезопасный (возможно, это один из клиентов, затронутых ошибкой heartbleed )

Вы можете разрешить менее безопасные клиенты в настройках Gmail здесь: https://support.google.com/accounts/answer/6010255?hl=ru.

или, что еще лучше, обновите до новой версии клиента 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.

SDsolar
источник