ฉันมี "Ubuntu 20.04.3 LTS" ในราสเบอร์รี่ pi 4
และฉันกำลังพยายามกำหนดค่า postfix เพื่อใช้รีเลย์โฮสต์ที่ขึ้นอยู่กับผู้ส่ง
Postfix คือ mail_version = 3.4.13 และฉันมี
IP แบบไดนามิก
สคีมามีลักษณะดังนี้:
- ผู้ใช้ในพื้นที่ส่งอีเมลไปที่ postfix (เซิร์ฟเวอร์อีเมลในเครื่อง)
- postfix เขียนใหม่จากที่อยู่
- ขึ้นอยู่กับการเขียนใหม่จากที่อยู่ เลือกรีเลย์โฮสต์ที่เหมาะสม
- ส่งอีเมลไปยัง relayhost ผ่านพอร์ต 587
สำหรับจุดที่ 1) และ 2) ฉันมีไฟล์ sender_canonical สร้าง:
[email protected] [email protected]
[email protected] [email protected]
สำหรับจุดที่ 3) ฉันมีไฟล์ แผนที่รีเลย์ สร้าง:
@gmx.de mail.gmx.net:587
@gmail.com smtp.gmail.com:587
สำหรับจุดที่ 4) ฉันมีไฟล์ pass_smarthost สร้าง:
[email protected] [email protected]:UserA-GMX-รหัสผ่าน
[email protected] [email protected]:UserB-Gmail-รหัสผ่าน
ฉันทดสอบด้วยสิ่งนี้:
echo "ทดสอบ" | sendmail -f ttm [email protected]
แต่ตอนนี้ฉันได้รับ:
หาง -f /var/log/syslog | grep --line-buffered "postfix\|รีเลย์\|ทั่วไป"
7 ก.ย. 18:28:29 น. ubuntu-RPI4 postfix/pickup[24810]: 5CFF24028B: uid=0 from=<ttm>
7 ก.ย. 18:28:29 น. ubuntu-RPI4 postfix/cleanup[24830]: 5CFF24028B: message-id=<[email protected]>
7 ก.ย. 18:28:29 น. ubuntu-RPI4 postfix/qmgr[24811]: 5CFF24028B: from=<[email protected]>, size=256, nrcpt=1 (คิวทำงานอยู่)
7 ก.ย. 18:28:29 น. ubuntu-RPI4 postfix/smtp[24833]: เชื่อมต่อกับ mx04.posteo.de[185.67.36.64]:25: การเชื่อมต่อถูกปฏิเสธ
7 ก.ย. 18:28:29 น. ubuntu-RPI4 postfix/smtp[24833]: เชื่อมต่อกับ mx01.posteo.de[185.67.36.61]:25: การเชื่อมต่อถูกปฏิเสธ
7 ก.ย. 18:28:29 น. ubuntu-RPI4 postfix/smtp[24833]: เชื่อมต่อกับ mx01.posteo.de[185.67.36.62]:25: การเชื่อมต่อถูกปฏิเสธ
7 ก.ย. 18:28:29 น. ubuntu-RPI4 postfix/smtp[24833]: เชื่อมต่อกับ mx03.posteo.de[185.67.36.63]:25: การเชื่อมต่อถูกปฏิเสธ
7 ก.ย. 18:28:29 น. ubuntu-RPI4 postfix/smtp[24833]: เชื่อมต่อกับ mx03.posteo.de[185.67.36.70]:25: การเชื่อมต่อถูกปฏิเสธ
7 ก.ย. 18:28:29 น. ubuntu-RPI4 postfix/smtp[24833]: 5CFF24028B: to=<[email protected]>, relay=none, delay=0.51, delays=0.07/0.08/0.36/0, dsn=4.4 .1, สถานะ=รอการตัดบัญชี (เชื่อมต่อกับ mx03.posteo.de[185.67.36.70]:25: การเชื่อมต่อถูกปฏิเสธ)
สำหรับฉันแล้ว postfix นั้นพยายามส่งอีเมลโดยตรงไปยังเซิร์ฟเวอร์ผู้รับที่พอร์ต 25 แทนที่จะใช้ relayhost (ที่นี่ gmx.de)
และการเขียนซ้ำไม่ได้ไปยังที่อยู่ที่ถูกต้อง - อาจเป็นวงกลม?
ฉันพยายามเพิ่มตัวเลือก "-v" ใน master.cf เพื่อดูรายละเอียดเพิ่มเติมหรือรับคำแนะนำเกี่ยวกับสิ่งที่เกิดขึ้น
แต่ฉันไม่ได้รับข้อผิดพลาด ฉันพลาดอะไรไป
คำแนะนำใด ๆ จะเป็นประโยชน์
ขอบคุณล่วงหน้า.
main.cf:
# ดู /usr/share/postfix/main.cf.dist สำหรับความคิดเห็นฉบับสมบูรณ์
# Debian เฉพาะ: การระบุชื่อไฟล์จะทำให้เกิดสิ่งแรก
# บรรทัดของไฟล์ที่จะใช้เป็นชื่อ ค่าเริ่มต้นของเดเบียน
# คือ /etc/mailname
myorigin = /etc/ชื่อเมล
smtpd_banner = $myhostname ESMTP $mail_name (อูบุนตู)
บิฟ = ไม่
# ต่อท้าย .domain คืองานของ MUA
append_dot_mydomain = ไม่
# ยกเลิกการแสดงความคิดเห็นในบรรทัดถัดไปเพื่อสร้างคำเตือน "จดหมายล่าช้า"
#delay_warning_time = 4 ชม
readme_directory = ไม่
# ดู http://www.postfix.org/COMPATIBILITY_README.html -- ค่าเริ่มต้นเป็น 2 บน
#ติดตั้งใหม่.
ความเข้ากันได้_ระดับ = 2
# พารามิเตอร์ TLS
#smtpd
smtpd_tls_cert_file=/etc/postfix/sslcert/mailserver20210902.crt
smtpd_tls_key_file=/etc/postfix/sslcert/mailserver20210902.key
Broken_sasl_auth_clients = ใช่
smtpd_tls_security_level=พฤษภาคม
smtpd_sasl_type = นกพิราบ
smtpd_sasl_path = ส่วนตัว/รับรองความถูกต้อง
smtpd_tls_auth_only = ใช่
smtpd_sasl_auth_enable = ใช่
smtpd_sasl_authenticated_header = ใช่
smtpd_sasl_local_domain = $โดเมนของฉัน
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_sender_login_maps = พร็อกซี:mysql:/etc/postfix/mysql_sender_login_maps.cf
smtpd_recipient_restrictions = permit_sasl_authenticated permit_mynetworks ปฏิเสธ_unauth_destination ปฏิเสธ_unknown_reverse_client_hostname
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
ชื่อโฮสต์ของฉัน = ttmsacer.homenet
โดเมนของฉัน = $ชื่อโฮสต์ของฉัน
mydestination = localhost.homenet, localhost
alias_maps = แฮช:/etc/aliases
alias_database = แฮช:/etc/aliases
รีเลย์โฮสต์ =
mynetworks = 127.0.0.0/8, [::ffff:127.0.0.0]/104, [::1]/128, 192.168.178.0/24
mailbox_size_limit = 0
ผู้รับ_ตัวคั่น = +
message_size_limit = 52768000
# ปิดใช้งาน virtual_mailbox_limit โดยตั้งค่าเป็น 0:
virtual_mailbox_limit = 0
inet_interfaces = 127.0.0.1, localhost, 192.168.178.20
inet_protocols = ทั้งหมด
proxy_read_maps = $ local_recipient_maps $ mydestination $ virtual_alias_maps $ virtual_alias_domains $ virtual_mailbox_maps $ virtual_mailbox_domains $ relay_recipient_maps $ relay_domains $ canonical_maps
local_transport = เสมือน
virtual_mailbox_base = /home/vmail
virtual_mailbox_domains = พร็อกซี:mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_alias_maps = พร็อกซี:mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_mailbox_maps = พร็อกซี:mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_minimum_uid = 104
virtual_uid_maps = คงที่:5000
virtual_gid_maps = คงที่:5000
virtual_transport = lmtps:inet:localhost:24
# สมาร์ทโฮสต์ / smtp
smtp_tls_CApath=/etc/ssl/certs
smtp_tls_security_level=พฤษภาคม
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtp_tls_policy_maps = แฮช:/etc/postfix/tls_policy
smtp_sender_dependent_authentication = ใช่
smtp_sasl_auth_enable = ใช่
smtp_sasl_security_options = ไม่ระบุตัวตน
smtp_connection_cache_on_demand = ไม่
smtp_sasl_password_maps = แฮช:/etc/postfix/pass_smarthost
sender_dependent_relayhost_maps = hash:/etc/postfix/relaymap
sender_canonical_classes = ซองจดหมาย_sender, header_sender
sender_canonical_maps = แฮช:/etc/postfix/sender_canonical
gets_override_options = no_address_mappings
มาสเตอร์.cf
# ไฟล์การกำหนดค่ากระบวนการหลัก Postfix สำหรับรายละเอียดเกี่ยวกับรูปแบบ
# ของไฟล์ ดูหน้าคู่มือ master(5) (คำสั่ง: "man 5 master" หรือ
# ออนไลน์: http://www.postfix.org/master.5.html)
#
# อย่าลืมรัน "postfix reload" หลังจากแก้ไขไฟล์นี้
#
# ================================================= =========================
# ประเภทบริการส่วนตัว unpriv chroot wakeup คำสั่ง maxproc + args
# (ใช่) (ใช่) (ไม่ใช่) (ไม่เคย) (100)
# ================================================= =========================
smtp inet n - y - - smtpd -v
#smtp inet n - y - 1 โพสต์สกรีน
#smtpd ผ่าน - - y - - smtpd
#dnsblog ยูนิกซ์ - - y - 0 dnsblog
#tlsproxy ยูนิกซ์ - - y - 0 tlsproxy
การส่ง inet n - n - - smtpd -v
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=เข้ารหัส
-o smtpd_sasl_auth_enable=ใช่
-o smtpd_tls_auth_only=ใช่
# -o smtpd_reject_unlisted_recipient=ไม่
# -o smtpd_client_restrictions=$mua_client_restrictions
# -o smtpd_helo_restrictions=$mua_helo_restrictions
# -o smtpd_sender_restrictions=$mua_sender_restrictions
# -o smtpd_recipient_restrictions=
-o smtpd_relay_restrictions=permit_sasl_authenticated ปฏิเสธ
# -o milter_macro_daemon_name=ORIGINATING
smtps inet n - y - - smtpd -v
-o syslog_name=postfix/smtps
# -o smtpd_tls_wrappermode=ใช่
-o smtpd_sasl_auth_enable=ใช่
# -o smtpd_reject_unlisted_recipient=ไม่
# -o smtpd_client_restrictions=$mua_client_restrictions
# -o smtpd_helo_restrictions=$mua_helo_restrictions
# -o smtpd_sender_restrictions=$mua_sender_restrictions
# -o smtpd_recipient_restrictions=
-o smtpd_relay_restrictions=permit_sasl_authenticated ปฏิเสธ
# -o milter_macro_daemon_name=ORIGINATING
#628 inet n - y - - qmqpd
รถกระบะยูนิกซ์ n - y 60 1 รถกระบะ -v
ล้างยูนิกซ์ n - y - 0 ล้างข้อมูล -v
qmgr ยูนิกซ์ n - n 300 1 qmgr
#qmgr ยูนิกซ์ n - n 300 1 oqmgr
tlsmgr ยูนิกซ์ - - และ 1,000? 1 tlsmgr
เขียนซ้ำยูนิกซ์ - - y - - เล็กน้อย-เขียนซ้ำ -v
เด้งยูนิกซ์ - - y - 0 เด้ง
เลื่อนยูนิกซ์ - - y - 0 เด้ง
ติดตามยูนิกซ์ - - y - 0 ตีกลับ
ตรวจสอบยูนิกซ์ - - y - 1 ตรวจสอบ
ล้างยูนิกซ์ n - y 1,000? 0 ล้าง
พร็อกซีแมปยูนิกซ์ - - n - - พร็อกซีแมป
proxywrite unix - - n - 1 พร็อกซีแมป
smtp ยูนิกซ์ - - y - - smtp
รีเลย์ยูนิกซ์ - - y - - smtp
-o syslog_name=postfix/$service_name
# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq ยูนิกซ์ n - y - - showq
ข้อผิดพลาดยูนิกซ์ - - y - - ข้อผิดพลาด
ลองใหม่ยูนิกซ์ - - y - - ข้อผิดพลาด
ทิ้งยูนิกซ์ - - y - - ทิ้ง
ยูนิกซ์ท้องถิ่น - n n - - ท้องถิ่น
ยูนิกซ์เสมือน - n n - - เสมือน
lmtp ยูนิกซ์ - - y - - lmtp
ทั่งยูนิกซ์ - - y - 1 ทั่ง
Scache ยูนิกซ์ - - y - 1 Scache
postlog unix-dgram n - n - 1 postlogd
#
# ================================================= ===================
# การเชื่อมต่อกับซอฟต์แวร์ที่ไม่ใช่ Postfix อย่าลืมตรวจสอบคู่มือ
# หน้าของซอฟต์แวร์ที่ไม่ใช่ Postfix เพื่อค้นหาตัวเลือกที่ต้องการ
#
# บริการจำนวนมากต่อไปนี้ใช้การส่งไปป์ Postfix (8)
# ตัวแทน. ดูหน้าคนไปป์ (8) สำหรับข้อมูลเกี่ยวกับ ${recipient}
# และตัวเลือกซองจดหมายอื่น ๆ
# ================================================= ===================
#
#ไปรษณีย์. โปรดดูรายละเอียดในไฟล์ Postfix MAILDROP_README
# ระบุใน main.cf ด้วย: maildrop_destination_recipient_limit=1
#
maildrop ยูนิกซ์ - n n - - ไปป์
แฟล็ก=ผู้ใช้ DRhu=vmail argv=/usr/bin/maildrop -d ${ผู้รับ}
#
# ================================================= ===================
#
# เวอร์ชัน Cyrus ล่าสุดสามารถใช้รายการ "lmtp" master.cf ที่มีอยู่
#
# ระบุใน cyrus.conf:
# lmtp cmd="lmtpd -a" ฟัง="localhost:lmtp" proto=tcp4
#
# ระบุใน main.cf อย่างใดอย่างหนึ่งต่อไปนี้:
# mailbox_transport = lmtp:inet:localhost
# virtual_transport = lmtp:inet:localhost
#
# ================================================= ===================
#
# ไซรัส 2.1.5 (เอมัส Gouaux)
# ระบุใน main.cf ด้วย: cyrus_destination_recipient_limit=1
#
#ไซรัสยูนิกซ์ - n n - - ท่อ
# user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}
#
# ================================================= ===================
# ตัวอย่างเก่าของการจัดส่งผ่าน Cyrus
#
#โอลด์ไซรัสยูนิกซ์ - n n - - ท่อ
# flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}
#
# ================================================= ===================
#
# ดูไฟล์ Postfix UUCP_README สำหรับรายละเอียดการกำหนดค่า
#
uucp ยูนิกซ์ - n n - - ไปป์
ค่าสถานะ =ผู้ใช้ Fqhu =uucp argv=uux -r -n -z -a$ผู้ส่ง - $nexthop!rmail (ผู้รับ $)
#
# วิธีการจัดส่งภายนอกอื่น ๆ
#
ifmail ยูนิกซ์ - n n - - ท่อ
ค่าสถานะ = F ผู้ใช้ = ftn argv = /usr/lib/ifmail/ifmail -r $nexthop (ผู้รับ $)
bsmtp ยูนิกซ์ - n n - - ท่อ
แฟล็ก = Fq ผู้ใช้=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$ผู้ส่ง $ผู้รับ
scalemail-backend unix - n n - 2 ไปป์
flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
ยูนิกซ์บุรุษไปรษณีย์ - n n - - ไปป์
แฟล็ก=ผู้ใช้ FR=รายการ argv=/usr/lib/mailman/bin/postfix-to-mailman.py
${nexthop} ${ผู้ใช้}
# ================================================= ===================
lmtps ยูนิกซ์ - - - - - lmtp
-o lmtp_use_tls=ใช่
-o lmtp_enforce_tls=ใช่
-o lmtp_tls_mandatory_protocols=!SSLv2,!SSLv3
-o lmtp_tls_protocols=!SSLv2,!SSLv3
-o lmtp_tls_mandatory_ciphers=สูง
-o lmtp_tls_ciphers=สูง
-o lmtp_send_xforward_command=ใช่
-o lmtp_tls_security_level=เข้ารหัส
-o lmtp_tls_note_starttls_offer=ใช่
-o lmtp_address_preference=ipv4