วิธีการตั้งค่า ssmtp และส่งอีเมล


10

ฉันใหม่เพื่อราสเบอร์รี่ 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
นี่ไม่ใช่คำถามเฉพาะของ Raspberry ลอง: - unix.stackexchange.com
Milliways

ดูที่นี้มันraspberry.znix.com/2013/03/postfix-better-solution-for-rpi.html นอกจากนี้หากคุณใช้ 2factor auth กับ google คุณต้องใช้รหัสผ่านเฉพาะแอปไม่ใช่รหัสผ่านที่คุณใช้เพื่อเข้าสู่ระบบ gmail ผ่านเว็บ
Steve Robillard

ฉันจะรับรหัสผ่านเฉพาะแอปได้อย่างไร
โอเมก้า

คุณเคยลองด้วยUseSTARTTLS=NOหรือไม่
goldilocks

ใช่ แต่มันยังไม่ทำงาน
โอเมก้า

คำตอบ:


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=th

หรือดีกว่ายังอัพเกรดเป็นไคลเอนต์ 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

นอกจากนี้คุณยังสามารถ cat ไฟล์ทั้งหมดและท่อในเป็นข้อความ


หากคุณต้องการส่งไฟล์รูปภาพเป็นไฟล์แนบคุณต้องการไฟล์นี้:

/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 โปรดจำไว้ว่างานที่มักจะทำงานในไดเรกทอรีบ้านของผู้ใช้จึงเป็นวิธีที่ดีในการใช้เส้นทางไดเรกทอรีเต็มไปยังไฟล์แนบ

voila แค่นั้นแหละ. ไม่ง่ายกว่านี้อีกแล้ว

มันทำงานได้ทั้งบน Raspbian และ Ubuntu รุ่นที่ใหม่กว่าทั้งหมด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.