Điểm:1

Email được gửi với hậu tố được coi là thư rác và đôi khi không được gửi

lá cờ na

Tôi đang cố thiết lập gửi email bằng SMTP trên VPS chạy Ubuntu 18.04. Tôi đang sử dụng postfix, nodemailer.

Khi tôi gửi từ địa chỉ@mydomain.com đến tài khoản gmail, nó sẽ bị kẹt trong thư mục thư rác của gmail.Tôi đã đạt được số điểm 6,8 trên www.mail-tester.com, với các khoản khấu trừ này:

-1.274 RDNS_NONE Được máy chủ lưu trữ không có rDNS gửi đến mạng nội bộ Điều này có thể cho thấy bạn chưa định cấu hình rDNS cho tên máy chủ của mình hoặc rDNS không khớp với IP gửi của bạn

-0,896 SPF_HELO_SOFTFAIL SPF: HELO không khớp với bản ghi SPF (thất bại mềm) sự cố mềm

Tin nhắn của bạn chưa được ký với DKIM

Tôi nghĩ bản ghi TXT của tôi là chính xác:

"v=spf1 ip4:[removed-server-ip] bao gồm:_spf.mail.hostinger.com ~all"

/etc/postfix/main.cf:

# Xem /usr/share/postfix/main.cf.dist để biết phiên bản đầy đủ hơn đã nhận xét


# Debian cụ thể: Chỉ định tên tệp sẽ gây ra lỗi đầu tiên
# dòng của tệp đó sẽ được sử dụng làm tên. Mặc định của Debian
# là /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = không

# nối thêm .domain là công việc của MUA.
append_dot_mydomain = không

# Bỏ ghi chú dòng tiếp theo để tạo cảnh báo "thư bị trì hoãn"
#delay_warning_time = 4h

readme_directory = không

# Xem http://www.postfix.org/COMPATIBILITY_README.html -- mặc định là 2 trên
# lượt cài đặt mới.
mức độ tương thích = 2

# Thông số 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=có
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# Xem /usr/share/doc/postfix/TLS_README.gz trong gói postfix-doc để biết
# thông tin về kích hoạt SSL trong ứng dụng khách smtp.

smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = [tên miền đã xóa].com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = $myhostname, localhost.$mydomain, localhost.[remove-domain-name].com, [remove-domain-name].com, [remove-domain-name]$
máy chủ chuyển tiếp =
mạng của tôi = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
người nhận_dấu phân cách = +
inet_interfaces = chỉ lặp lại
inet_protocols = tất cả

chính sách-spf_time_limit = 3600
smtpd_recipient_restrictions=
   allow_mynetworks,
   permit_sasl_authenticated,
   reject_unauth_destination,
   check_policy_service unix:private/policyd-spf

phương pháp gật đầu:

  "Sử dụng nghiêm ngặt";
  const nodemailer = require("nodemailer");

  hãy để người vận chuyển = nodemailer.createTransport({
    gửi thư: đúng,
    dòng mới: 'unix',
    đường dẫn: '/usr/sbin/sendmail',
    an toàn: đúng,
  })

  để thông tin = đang chờ vận chuyển.sendMail({
    từ: '"[tên miền đã xóa].com" <no-reply@[tên miền đã xóa].com>', // địa chỉ người gửi
    to: req.body.to, // danh sách người nhận
    chủ đề: "Xin chào", // Dòng chủ đề
    văn bản: req.body.message, // nội dung văn bản thuần túy
    html: req.body.message, // nội dung html
  });
lá cờ in
Điều này có trả lời câu hỏi của bạn không? [Chống lại thư rác - Tôi có thể làm gì với tư cách là: Quản trị viên email, Chủ sở hữu miền hoặc Người dùng?](https://serverfault.com/questions/419407/fight-spam-what-can-i-do-as-an- email-quản trị viên-tên miền-chủ sở hữu hoặc người dùng)
Joseph avatar
lá cờ na
@GeraldSchneider, có thể, nhưng thành thật mà nói, tôi hơi bối rối không biết phải thử làm gì tiếp theo để khắc phục sự cố. Tôi đã thử: https://serverfault.com/a/1064820 về sự cố rDNS (không hoạt động) và tôi không biết mình có thể làm gì khác. vấn đề SPF (như tôi nghĩ rằng tôi đã sắp xếp vấn đề đó với bản ghi TXT).Tôi đang đọc qua các câu trả lời ở đó nhưng không có gì rõ ràng ngay lập tức đối với tôi mà tôi nên thử, bạn có ý kiến ​​​​gì không?
Điểm:1
lá cờ za
  1. Định cấu hình DNS đảo ngược của bạn. Thêm một mục PTR liên kết IP của bạn với tên máy chủ MX của bạn

  2. Đảm bảo rằng myhostname trong main.cf được đặt thành tên máy chủ MX của bạn. Đây có thể là nguyên nhân khiến HELO của bạn không khớp.

  3. Bạn có thể đặt SPF của mình thành "v=spf1 a mx include:_spf.mail.hostinger.com ~all" để tự động chấp nhận MX của bạn với tư cách người gửi, nhưng điều đó sẽ ổn với ip.

  4. Đăng ký tên miền của bạn với Google để cải thiện khả năng gửi : https://support.google.com/a/answer/9649569?hl=vi

  5. Chắc chắn sử dụng DKIM :

opendkim

Cài đặt opendkim.

định cấu hình

Chỉnh sửa /etc/opendkim.conf :

  • sinh viên chế độ ký và xác minh email đến (có thể không cần chế độ xác minh)
  • ReportAddress [email protected]
  • KeyTable, SigningTable : các tệp liên kết các khóa với các mục DNS
  • InternalHosts : tệp chứa danh sách các máy chủ đáng tin cậy

Tạo các phím

mkdir /etc/opendkim/keys/example.com/
cd /etc/opendkim/keys/example.com/
opendkim-genkey -s mail -d example.com
chown opendkim:opendkim mail.*

Tham số -S được gọi là bộ chọn, -d là miền.

Chỉnh sửa /etc/opendkim/SigningTable và thêm một cặp tên miền/bộ chọn:

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

Chỉnh sửa /etc/opendkim/KeyTable và thêm một cặp bộ chọn/khóa:

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

Chỉnh sửa /etc/opendkim/TrustedHosts và chèn

*.example.com
[mạng cục bộ của bạn]

DNS

Bạn cần thêm khóa công khai vào DNS của mình. Bạn sẽ tìm thấy chìa khóa trong /etc/opendkim/keys/xxx.yy/mail.txt

Tạo trường TXT:

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

hậu tố

Bạn phải làm cho hậu tố biết về opendkim, để khiến anh ấy ký vào các phím.

Lấy phương thức kết nối cho opendkim trong cấu hình của nó. Nên là một cái gì đó như inet:8891@localhostvà thêm nó làm bộ lọc trong chính.cf :

smtpd_milters = inet:127.0.0.1:8891
non_smtpd_milters = $smtpd_milters
milter_default_action = chấp nhận

hoàn thiện

Khởi động lại (cuối cùng kích hoạt) opendkim và sau đó postfix. Kiểm tra khóa trong DNS của bạn với opendkim-testkey -d example.com -s mail -vvv

Kiểm tra với mail-tester.com. Kiểm tra /var/log/maillog rằng mỗi email được gửi thêm một dòng Đã thêm trường DKIM-Chữ ký

Joseph avatar
lá cờ na
Cảm ơn @Hexdump, tôi đã làm theo hướng dẫn của bạn, nhưng ở bước cuối cùng, tôi nhận được: ``opendkim-testkey -d [mydomain].com -s mail -vvv opendkim-testkey: sử dụng tệp cấu hình mặc định /etc/opendkim.conf opendkim-testkey: kiểm tra khóa 'mail._domainkey.[mydomain].com' opendkim-testkey: không tìm thấy bản ghi 'mail._domainkey.[mydomain].com'``
Joseph avatar
lá cờ na
Cảm ơn bạn @Hexdump, bây giờ tôi có điểm 10/10 hoàn hảo trên trình kiểm tra thư

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.