Score:0

วิธีบังคับให้ postfix ใช้ smtp relay

ธง fr

เมื่อฉันดำเนินการ postfix บรรทัดต่อไปนี้ใช้เซิร์ฟเวอร์ส่งต่อ sendgrid ของฉัน

echo "เรื่อง: sendmail test" | sendmail -v [email protected]

แต่เมื่อฉันเรียกใช้ฟังก์ชัน sendmail ผ่านสคริปต์ PHP มันจะไม่ส่งไปยังเซิร์ฟเวอร์รีเลย์ ดูเหมือนว่ามันต้องการที่จะแจกจ่ายมันในพื้นที่

ความคิดใด ๆ เกี่ยวกับวิธีบังคับให้ postfix ใช้ตัวเลือก smtp relay

  • อัปเดต

ดูเหมือนว่า postfix จะหมดเวลาใน STARTTLS ฉันได้เพิ่มบันทึกด้านล่าง อาจเป็นเพราะใบรับรอง LetsEncrypt ของฉันหรือไม่

postfix/smtpd[29268]: > localhost[::1]: 250-www.example.com
postfix/smtpd[29268]: > localhost[::1]: 250-PIPELINING
postfix/smtpd[29268]: > localhost[::1]: 250-SIZE 10240000
postfix/smtpd[29268]: > localhost[::1]: 250-VRFY
postfix/smtpd[29268]: > localhost[::1]: 250-ETRN
postfix/smtpd[29268]: > localhost[::1]: 250-STARTTLS
postfix/cleanup[29279]: 8E2B520B98: message-id=<[email protected]>
postfix/smtpd[29268]: smtp_get: EOF

โพสต์คอนเฟอเรนซ์ -n

alias_database = แฮช:/etc/aliases
alias_maps = แฮช:/etc/aliases
append_dot_mydomain = ไม่
บิฟ = ไม่
config_directory = /etc/postfix
header_size_limit = 4096000
inet_interfaces = ทั้งหมด
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
mydestination = $myhostname, localhost.$mydomain, localhost
โดเมนของฉัน = example.com
ชื่อโฮสต์ของฉัน = www.example.com
เครือข่ายของฉัน = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/ชื่อเมล
readme_directory = ไม่
ผู้รับ_ตัวคั่น = +
รีเลย์โฮสต์ = smtp.sendgrid.net:587
smtp_sasl_auth_enable = ใช่
smtp_sasl_password_maps = คงที่: apikey: BLBAABLAABLAA
smtp_sasl_security_options = ไม่ระบุตัวตน
smtp_sasl_tls_security_options = ไม่ระบุตัวตน
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtp_tls_security_level = เข้ารหัส
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname E
SMTP $mail_name (เดเบียน/GNU)
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = ใช่

ดูเหมือนว่าจะทำงานได้อย่างสมบูรณ์เมื่อฉันเขียนสคริปต์ไพ ธ อน แต่ด้วย PHP swiftmailer ดูเหมือนว่าจะล้มเหลวและส่งคืน EOF

=============== อัพเดท

ดูเหมือนว่ารีเลย์จะทำงาน แต่ตอนนี้เราได้รับข้อผิดพลาดนี้

Swift_IoException [ 0 ]: การเชื่อมต่อกับ localhost:25 หมดเวลา

ฉันสามารถส่งเมลโดยใช้ sendmail ได้ แต่เมื่อ SwiftMailer ใช้ sendmail มันได้รับข้อผิดพลาดที่ระบุไว้ก่อนหน้านี้

Richard Olthuis avatar
fr flag
ฉันได้แก้ไขข้อบกพร่องอีกเล็กน้อยและเพิ่มบันทึกที่ฉันคิดว่ามันหมดเวลา
djdomi avatar
za flag
ฉันคิดว่าคุณกำลังมองหา `relayhost = gateway.mydomain.tld`
Paul avatar
cn flag
โปรดโพสต์ผลลัพธ์ของ `postconf -n`
Richard Olthuis avatar
fr flag
ฉันอัปเดตโพสต์ด้วย postconf -n
Paul avatar
cn flag
แน่นอน ดูเหมือนว่าคุณมีปัญหาบางอย่างนอก `postfix` ฉันคิดว่า `smtp` ใน `postfix` เป็นการส่งไปยังเซิร์ฟเวอร์อื่น และ `smtpd` เป็นการรับจากสิ่งที่คุณกำหนดค่าให้รับ ดังนั้น รายการบันทึกที่คุณโพสต์สำหรับ `postfix/smtpd` กำลังบอกคุณถึงสิ่งที่ต้องการให้ได้รับจาก `postfix` แต่มีปัญหา ฉันไม่รู้อะไรเกี่ยวกับ SwiftMailer แต่คุณควรตรวจสอบการกำหนดค่าของเครื่องมือนั้น เนื่องจากดูเหมือนจะเชื่อมต่อกับพอร์ต `localhost` `smtp` และมีบางอย่างผิดปกติเกิดขึ้นที่นั่น BTW นี่ไม่ได้หมายความว่าคุณไม่จำเป็นต้องเพิ่มบางอย่างในการกำหนดค่า `postfix`
Paul avatar
cn flag
ขอทราบสั้นๆ ว่าฉันมักจะพยายามส่งข้อความทดสอบไปยังที่อยู่ภายนอกและที่อยู่ภายใน โดยเฉพาะข้อความที่มีนามแฝงไปยังที่อยู่ภายนอก เช่น `รูท' นอกจากนี้ SE ได้เปลี่ยนวิธีการทำงานของความคิดเห็นเหล่านี้ และดูเหมือนว่าฉันจะไม่ได้รับการแจ้งเตือนเกี่ยวกับความคิดเห็นแรกหลังจากความคิดเห็นของฉันอีกต่อไป เว้นแต่ฉันจะถูกแท็กในความคิดเห็นนั้น
Richard Olthuis avatar
fr flag
ขอบคุณ @paul คุณทำให้ฉันดูข้อความที่ส่งไป! และฉันก็สามารถหาคำตอบได้
Score:1
ธง fr

ฉันจัดการเพื่อแก้ไขปัญหา ปรากฎว่าอีเมลที่ไคลเอนต์ส่งออกถูกฝังด้วยภาพที่ไม่ได้รับอนุญาต ฉันลบภาพที่ฝังไว้และตอนนี้ทุกอย่างทำงานได้ดี!

ฉันคิดว่ามันแปลกที่จะไม่มีอะไรแสดงในบันทึกอย่างละเอียดของ postfix

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา