ฉันได้อัปเดตเซิร์ฟเวอร์อีเมลของเราเพื่อใช้ DMARC หลังจากนี้ระบบ ERP ของเราไม่สามารถส่งอีเมลไปยัง gmail.com หรือ yahoo.com ได้ แต่ Outlook จะส่งอีเมลโดยไม่มีปัญหา
ด้านล่างนี้คือส่วนหัวของอีเมลที่ส่งจากโดเมนของฉันไปยัง Gmail และมาอย่างปลอดภัย:
รหัสข้อความ <[email protected]>
สร้างเมื่อ: วันศุกร์ที่ 16 กรกฎาคม 2564 เวลา 11:30 น. (ส่งมอบหลังจาก 4 วินาที)
จากฉัน
ถึง: [email protected]
หัวเรื่อง ตรวจสอบ 1
SPF: PASS พร้อม IP 000.000.000.000 (IP เซิร์ฟเวอร์อีเมล) เรียนรู้เพิ่มเติม
DKIM: 'PASS' กับโดเมน domain.com เรียนรู้เพิ่มเติม
DMARC: 'ผ่าน' เรียนรู้เพิ่มเติม
แต่เมื่อเราใช้โค้ดด้านล่างเพื่อส่งจาก ERP ของเรา:
กำหนด ('BASEPATH') หรือออก ('ไม่อนุญาตให้เข้าถึงสคริปต์โดยตรง');
คลาส SendPO ขยาย CI_Controller {
var $บทบาท, $ผู้ใช้, $แบรนด์;
ฟังก์ชั่นสาธารณะ __construct ()
{
ผู้ปกครอง :: __ สร้าง ();
$this->load->helper('url');
}
ดัชนีฟังก์ชันสาธารณะ (){
$mailTo = "[email protected]";
$subject = "ตรวจสอบจดหมาย";
$config = อาร์เรย์(
'โปรโตคอล' => 'smtp',
'smtp_host' => 'mail.example.com',
'smtp_port' => 465,
'smtp_user' => '[email protected]',
'smtp_pass' => 'บางรหัสผ่าน',
'charset'=>'utf-8',
'validate'=>จริง,
'wordwrap'=> จริง,
'dkim_domain' => 'example.com',
'dkim_private' => '/home/ubuntu/mail.private',
'dkim_selector' => 'เมล',
'dkim_passphrase' => '',
);
$this->load->library('อีเมล', $config);
$this->email->set_newline("\r\n");
$this->email->จาก("[email protected]");
$this->email->cc("[email protected]");
// แทนที่อีเมลของฉันโดยผู้ใช้ มันเป็นเพียงสำหรับการทดสอบ
$this->email->to($mailTo);
$this->email->subject($เรื่อง);
$msg="เช็คเมล์";
//เสียงสะท้อน $msg;
$this->email->message($msg);
$this->email->set_header('ตอบกลับ', $userMail);
$this->email->set_mailtype('html');
$this->email->send();
}
}
?>
ฉันเห็นจดหมายนี้ "จดหมายที่ส่งคืน: ดูรายละเอียดการถอดเสียง"
ข้อความต้นฉบับได้รับเมื่อ ศ. 16 ก.ค. 2021 11:22:05 น. +0200
จาก erp.domain.com [127.0.0.1]
----- ที่อยู่ต่อไปนี้มีข้อผิดพลาดร้ายแรงถาวร -----
(เหตุผล: 550-5.7.26 ไม่ยอมรับอีเมลที่ไม่ผ่านการรับรองความถูกต้องจาก example.com)
----- Transcript of session ดังนี้ -----
... ขณะคุยกับ gmail-smtp-in.l.google.com.:
>>> ข้อมูล
<<< 550-5.7.26 ไม่ยอมรับอีเมลที่ไม่ผ่านการตรวจสอบสิทธิ์จาก example.com เนื่องจาก
<<< 550-5.7.26 ตามนโยบาย DMARC ของโดเมน โปรดติดต่อผู้ดูแลระบบของ
<<< 550-5.7.26 โดเมน example.com หากเป็นเมลที่ถูกต้อง
โปรด
<<< เยี่ยมชม 550-5.7.26
<<< 550-5.7.26 https://support.google.com/mail/answer/2451690 เพื่อเรียนรู้เกี่ยวกับ
<<< 550 5.7.26 ความคิดริเริ่ม DMARC g11si7705633pfc.152 - gsmtp
554 5.0.0 บริการไม่พร้อมใช้งาน
การรายงาน-MTA: DNS; erp.domain.com
ได้รับจาก MTA: DNS; erp.domain.com
มาถึง-วันที่: ศ. 16 ก.ค. 2564 11:22:05 +0200
ผู้รับสุดท้าย: RFC822; ฉัน@gmail.com
การดำเนินการ: ล้มเหลว
สถานะ: 5.7.26
MTA ระยะไกล: DNS; gmail-smtp-in.l.google.com
รหัสการวินิจฉัย: SMTP; 550-5.7.26 อีเมลที่ไม่ผ่านการรับรองความถูกต้องจาก example.com ไม่ได้รับการยอมรับเนื่องจาก
Last-Attempt-Date: ศุกร์ 16 กรกฎาคม 2021 11:22:05 +0200
เส้นทางกลับ:
ได้รับ: จาก erp.example.com (erp.example.com [127.0.0.1])
โดย erp.example.com (8.15.2/8.15.2/Debian-3) ที่มีรหัส ESMTP 16G9M5eY021733;
ศ. 16 ก.ค. 2564 11:22:05 น. +0200
ได้รับ: (จาก www-data@localhost)
โดย erp.domain.com (8.15.2/8.15.2/Submit) รหัส 16G9M5NP021732;
ศ. 16 ก.ค. 2564 11:22:05 น. +0200
X-Authentication-Warning: erp.domain.com: www-data set sender ถึง [email protected] โดยใช้ -f
ถึง: [email protected]
เรื่อง: =?UTF-8?Q?Vendor=20VPO=20Test=20?=
X-PHP-Originating-Script: 0:Email.php
ตัวแทนผู้ใช้: CodeIgniter
วันที่: ศุกร์ 16 ก.ค. 2564 11:22:05 น. +0200
จาก:
สำเนา: [email protected]
ตอบกลับ:
X-Sender: [email protected]
X-Mailer: CodeIgniter
X-Priority: 3 (ปกติ)
รหัสข้อความ: <[email protected]>
Mime-เวอร์ชัน: 1.0
ประเภทเนื้อหา: หลายส่วน/ทางเลือก; ขอบเขต = "B_ALT_60f14fbd23d53"
ฉันได้ทำการทดสอบใน https://www.mail-tester.com/ และแสดง 10/10
เมื่อฉันทำแบบทดสอบ https://toolbox.googleapps.com/ มันแสดง:
ข้อผิดพลาด
การตั้งค่า DNS การตรวจสอบสิทธิ์ DKIM
เทคโนโลยี DKIM ใช้เพื่อช่วยตรวจหาอีเมลที่ไม่ได้รับอนุญาตซึ่งแอบอ้างเป็นการส่งออกจากโดเมนของคุณ
รูปแบบบันทึก DKIM ไม่ถูกต้อง
v=DKIM1; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDjYVyZyyl6T...
ข้อผิดพลาด
SPF ต้องอนุญาตให้เซิร์ฟเวอร์ของ Google ส่งอีเมลในนามของโดเมนของคุณ
การตัดสินใจ SPF ล้มเหลว - ไม่ได้รับอนุญาต
บันทึก v=spf1 mx a ip4:000.000.000.000 - ทั้งหมด
คำเตือน
ไม่พบโปรแกรมแลกเปลี่ยนจดหมายของ Google การกำหนดค่าโฮสต์รีเลย์?
หากคุณตั้งใจตั้งค่าเซิร์ฟเวอร์อีเมลไว้ที่ไหนสักแห่งในสถานที่ของคุณ ซึ่งจะส่งต่ออีเมลขาเข้าทั้งหมดไปยัง Google โดยอัตโนมัติ คุณอาจเพิกเฉยต่อคำเตือนนี้ มิฉะนั้น นี่เป็นข้อผิดพลาดในการกำหนดค่าที่ร้ายแรงเนื่องจากทำให้การรับส่งอีเมลหยุดชะงัก
0 mail.example.com
info_outline
ช่วงที่อยู่ SPF ที่มีประสิทธิภาพ
ที่อยู่ IP ต่อไปนี้นำมาจากการรวมและคำสั่ง IP4/IP6 ภายในระเบียน SPF ของโดเมนนี้
ตัวอย่าง.คอม.
000.000.000.000
ฉันคิดว่าเหตุผลเป็นส่วนหนึ่งของหน้านี้ (การลงนามโดยโดเมนหลัก):
https://datatracker.ietf.org/doc/html/rfc6376#section-3.10
ถ้าความคิดของฉันถูกต้อง! จะมีใครจัดเตรียมรูปแบบที่ถูกต้องสำหรับระเบียน SPF ไหม
ถ้าฉันผิด! ฉันหวังว่าบางคนจะช่วยให้เข้าใจว่าเกิดอะไรขึ้น