Score:1

อีเมลที่ส่งด้วย postfix จะถือว่าเป็นสแปม และบางครั้งก็ไม่ส่งเลย

ธง na

ฉันกำลังพยายามตั้งค่าการส่งอีเมลด้วย SMTP บน VPS ที่ใช้ Ubuntu 18.04 ฉันใช้ postfix, nodemailer

เมื่อฉันส่งจาก [email protected] ไปยังบัญชี gmail มันติดอยู่ในโฟลเดอร์สแปมของ gmailฉันได้คะแนน 6.8 www.mail-tester.comด้วยการหักเงินเหล่านี้:

-1.274 RDNS_NONE ส่งไปยังเครือข่ายภายในโดยโฮสต์ที่ไม่มี rDNS ซึ่งอาจแสดงว่าคุณไม่ได้กำหนดค่า rDNS สำหรับชื่อโฮสต์ของคุณ หรือ rDNS ไม่ตรงกับ IP ที่ส่งของคุณ

-0.896 SPF_HELO_SOFTFAIL SPF: HELO ไม่ตรงกับระเบียน SPF (softfail) ซอฟต์เฟล

ข้อความของคุณไม่ได้ลงนามด้วย DKIM

ฉันคิดว่าบันทึก TXT ของฉันถูกต้อง:

"v=spf1 ip4:[removed-server-ip] include:_spf.mail.hostinger.com ~ทั้งหมด"

/etc/postfix/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_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=ใช่
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# ดู /usr/share/doc/postfix/TLS_README.gz ในแพ็คเกจ postfix-doc สำหรับ
# ข้อมูลเกี่ยวกับการเปิดใช้งาน SSL ในไคลเอนต์ smtp

smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = [ชื่อโดเมนที่ถูกลบ] .com
alias_maps = แฮช:/etc/aliases
alias_database = แฮช:/etc/aliases
myorigin = /etc/ชื่อเมล
mydestination = $myhostname, localhost.$mydomain, localhost.[removed-domain-name].com, [removed-domain-name].com, [removed-domain-name]$
รีเลย์โฮสต์ =
เครือข่ายของฉัน = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
ผู้รับ_ตัวคั่น = +
inet_interfaces = วนกลับเท่านั้น
inet_protocols = ทั้งหมด

นโยบาย spf_time_limit = 3600
smtpd_recipient_restrictions =
   permit_mynetworks,
   permit_sasl_authenticated,
   ปฏิเสธ_unauth_ปลายทาง
   check_policy_service unix:private/policyd-spf

วิธี nodemailer:

  "ใช้อย่างเข้มงวด";
  const nodemailer = ต้องการ ("nodemailer");

  ให้ขนส่ง = nodemailer.createTransport({
    sendmail: จริง,
    บรรทัดใหม่: 'ยูนิกซ์'
    เส้นทาง: '/usr/sbin/sendmail',
    ปลอดภัย: จริง,
  })

  ให้ข้อมูล = รอการขนส่งส่งจดหมาย ({
    จาก: '"[removed-domain-name].com" <no-reply@[removed-domain-name].com>', // ที่อยู่ผู้ส่ง
    ถึง: req.body.to, // รายชื่อผู้รับ
    หัวเรื่อง: "สวัสดี", // หัวเรื่อง
    ข้อความ: req.body.message, // ข้อความธรรมดา
    html: req.body.message, // เนื้อหา html
  });
in flag
สิ่งนี้ตอบคำถามของคุณหรือไม่ [การต่อสู้กับสแปม - ฉันจะทำอะไรได้บ้างในฐานะผู้ดูแลระบบอีเมล เจ้าของโดเมน หรือผู้ใช้](https://serverfault.com/questions/419407/fighting-spam-what-can-i-do-as-an- อีเมลผู้ดูแลระบบโดเมนเจ้าของหรือผู้ใช้)
Joseph avatar
na flag
@GeraldSchneider อาจจะ แต่จริงๆแล้วฉันหลงทางเล็กน้อยว่าจะลองทำอะไรต่อไปเพื่อแก้ไขปัญหา ฉันลอง: https://serverfault.com/a/1064820 สำหรับปัญหา rDNS (ใช้งานไม่ได้) และฉันไม่รู้ว่าจะทำอะไรได้อีก ปัญหา SPF (เพราะฉันคิดว่าฉันได้จัดเรียงไว้แล้วด้วยระเบียน TXT)ฉันกำลังอ่านคำตอบที่นั่น แต่ไม่มีอะไรชัดเจนในทันทีที่ฉันควรลอง คุณมีความคิดอะไรไหม
Score:1
ธง za
  1. กำหนดค่า DNS ย้อนกลับของคุณ เพิ่มรายการ PTR ที่เชื่อมโยง IP ของคุณกับชื่อเซิร์ฟเวอร์ MX ของคุณ

  2. ตรวจสอบให้แน่ใจว่า myhostname ใน main.cf ถูกตั้งค่าเป็นชื่อเซิร์ฟเวอร์ MX ของคุณ นี่อาจเป็นสาเหตุที่ทำให้ HELO ของคุณไม่ตรงกัน

  3. คุณสามารถตั้งค่า SPF เป็น "v=spf1 a mx include:_spf.mail.hostinger.com ~all" เพื่อยอมรับ MX ของคุณเป็นผู้ส่งโดยอัตโนมัติ แต่ควรใช้ ip

  4. จดทะเบียนโดเมนของคุณกับ Google เพื่อปรับปรุงการส่งมอบ : https://support.google.com/a/answer/9649569?hl=th

  5. ใช้ DKIM อย่างแน่นอน :

โอเพนดีคิม

ติดตั้ง opendkim

กำหนดค่า

แก้ไข /etc/opendkim.conf :

  • sv โหมดเซ็นชื่อและยืนยันอีเมลขาเข้า (คุณอาจไม่ต้องการโหมดยืนยัน)
  • ที่อยู่รายงาน [email protected]
  • KeyTable, SigningTable : ไฟล์ที่เชื่อมโยงคีย์กับรายการ DNS
  • InternalHosts : ไฟล์ที่มีรายชื่อโฮสต์ที่เชื่อถือได้

สร้างคีย์

mkdir /etc/opendkim/keys/example.com/
ซีดี /etc/opendkim/keys/example.com/
opendkim-genkey -s เมล -d example.com
chown opendkim:opendkim mail.*

พารามิเตอร์ -s เรียกว่าซีเล็คเตอร์ -d เป็นโดเมน.

แก้ไข /etc/opendkim/ตารางการลงนาม และเพิ่มคู่ของโดเมน/ตัวเลือก :

*@example.com mail._domainkey.example.com

แก้ไข /etc/opendkim/KeyTable และเพิ่มคู่ของตัวเลือก/คีย์ :

mail._domainkey.example.com example.com:mail:/etc/opendkim/keys/example.com/mail.private

แก้ไข /etc/opendkim/TrustedHosts และใส่

*.example.com
[เครือข่ายท้องถิ่นของคุณ]

DNS

คุณต้องเพิ่มรหัสสาธารณะใน DNS ของคุณ คุณจะพบกุญแจ /etc/opendkim/keys/xxx.yy/mail.txt

สร้างฟิลด์ TXT :

mail._domainkey.example.com 10800 TXT "v=DKIM1; k=rsa; p=very_long_key"

โพสต์ฟิกซ์

คุณต้องทำให้ postfix ทราบเกี่ยวกับ opendkim เพื่อให้เขาลงนามในคีย์

รับวิธีการเชื่อมต่อสำหรับ opendkim ในการกำหนดค่า ควรเป็นเช่น inet:8891@localhostและเพิ่มเป็นตัวกรองใน main.cf :

smtpd_milters = inet:127.0.0.1:8891
non_smtpd_milters = $smtpd_milters
milter_default_action = ยอมรับ

จบ

รีสตาร์ท (เปิดใช้งานในที่สุด) opendkim แล้ว postfix ตรวจสอบรหัสใน DNS ของคุณด้วย opendkim-testkey -d example.com -s เมล -vvv

ตรวจสอบกับ mail-tester.com ตรวจสอบ /var/log/maillog ว่าแต่ละอีเมลที่ส่งเพิ่มบรรทัด เพิ่มฟิลด์ลายเซ็น DKIM แล้ว

Joseph avatar
na flag
ขอบคุณ @Hexdump ฉันทำตามคำแนะนำของคุณ แต่ในขั้นตอนสุดท้าย ฉันได้รับ: ``opendkim-testkey -d [mydomain].com -s mail -vvv opendkim-testkey: ใช้ configfile เริ่มต้น /etc/opendkim.conf opendkim-testkey: กำลังตรวจสอบคีย์ 'mail._domainkey.[mydomain].com' opendkim-testkey: ไม่พบระเบียน 'mail._domainkey.[mydomain].com''
Joseph avatar
na flag
ขอบคุณ @Hexdump ตอนนี้ฉันมี 10/10 ที่สมบูรณ์แบบสำหรับ mail-tester

โพสต์คำตอบ

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