Bagaimana cara mengatur ssmtp dan mengirim email?


10

Saya baru mengenal raspberry pi.

Saya menginstal OS raspian di atasnya. Saya ingin mengirim email darinya menggunakan akun gmail saya. Saya ingin mengirim dari antarmuka baris perintah dan dari skrip php.

Saya mengikuti panduan ini. http://iqjar.com/jar/sending-emails-from-the-raspberry-pi/

Saya melakukan langkah 1,2,3,4 dari tautan.

Ketika saya mengirim email menggunakan kode di bawah ini menggunakan

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

tidak ada yang terjadi, tidak ada yang dicetak di layar, dan saya tidak mendapatkan email.

Pada "revaliases", jika saya mengganti "mail.google" dengan "smtp.gmail", maka saya menerima pesan yang mengatakan

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

atau

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

Adakah yang tahu bagaimana cara memperbaikinya? Terima kasih

Berikut adalah dua file di bawah ini:

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
Ini bukan pertanyaan khusus Raspberry yang coba: - unix.stackexchange.com
Milliways

lihat ini raspberry.znix.com/2013/03/postfix-better-solution-for-rpi.html . Juga jika Anda menggunakan 2faktor auth dengan google, Anda harus menggunakan kata sandi khusus aplikasi, bukan kata sandi yang Anda gunakan untuk masuk ke gmail melalui web.
Steve Robillard

Bagaimana cara mendapatkan kata sandi khusus aplikasi ??
omega

Sudahkah Anda mencobanya UseSTARTTLS=NO?
goldilocks

ya, tapi itu masih tidak berhasil.
omega

Jawaban:


4

Anda mungkin sudah menemukannya sekarang, tetapi saya perhatikan di file ssmtp.conf Anda, Anda memiliki: root=me@gmail.com

Namun, di tautan yang Anda poskan, tertulis: root = postmaster

Saya membiarkannya seperti itu dan baru saja mengubah bagian me@gmail.com lainnya dan berfungsi untuk saya. Terima kasih atas bantuan Anda, itu membuat saya dalam perjalanan ...


2

Bahkan, Anda tidak perlu menginstal apa pun. Exim sudah diinstal pada Raspbian, tetapi dikonfigurasi secara default untuk tetap lokal. Anda hanya perlu mengubah file "update-exim4.conf.conf" "dc_eximconfig_configtype = 'satelit' dll."


1

Saya memiliki masalah yang sama.

Ternyata gmail memblokir permintaan tersebut karena klien smtp masuk daftar hitam sebagai tidak aman (mungkin itu salah satu klien yang terpengaruh oleh bug heartbleed )

Anda dapat mengizinkan klien yang kurang aman pada pengaturan gmail Anda di sini: https://support.google.com/accounts/answer/6010255?hl=id

atau, lebih baik lagi, tingkatkan ke versi yang lebih baru dari klien smtp, jika memungkinkan


1

Saya pikir Anda mencari ini:

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

KUTIPAN:

Jawaban untuk mengirim pesan satu-baris adalah menggunakan ssmtp

Instal dengan perintah berikut:

sudo apt-get update
sudo apt-get install ssmtp

Lalu buka /etc/ssmtp dan edit ssmtp.conf agar terlihat seperti ini:

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

Kirim one-liner seperti itu:

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

Anda juga bisa memasukkan seluruh file dan memasukkannya sebagai pesan.


Jika Anda ingin mengirim file gambar sebagai lampiran, maka Anda menginginkan yang ini:

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

Pada dasarnya sama, tetapi menambahkan:

Instal mpack:

apt-get update
sudo apt-get install mpack

Kemudian kirim gambar sebagai lampiran seperti:

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

Jika file ada di direktori saat ini, maka tidak perlu menggunakan jalur yang sepenuhnya memenuhi syarat untuk lampiran.

Dan jika digunakan dalam cron ingat bahwa pekerjaan selalu berjalan di direktori home pengguna, jadi itu adalah praktik yang baik untuk menggunakan jalur direktori lengkap ke file lampiran.

Voila. Itu dia. Tidak bisa lebih mudah.

Ini berfungsi baik pada Raspbian dan semua versi Ubuntu yang lebih baru.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.