Email Spam Tester

GitHub Copilot

ให้ Copilot ทดสอบอีเมลก่อนถึงขั้น pull request

เพิ่ม server หนึ่งตัวใน VS Code แล้ว Copilot ในโหมดเอเจนต์จะทดสอบสแปมจริงกับอีเมลที่โปรเจกต์ของคุณส่งได้

คัดลอก config

ตรวจสอบ 42 รายการ · ไม่ต้องใช้คีย์ · ไม่ต้องมีบัญชี

สิ่งที่ควรถาม

ตรวจก่อนรีวิว

ทดสอบอีเมลใบแจ้งหนี้ที่แก้ไขใน branch นี้ แล้วระบุว่ามีอะไรแย่ลงบ้าง

มีหนึ่งรายการที่แย่ลง: ส่วนข้อความว่างเปล่าแล้ว

แก้รายการที่ไม่ผ่าน

ตรวจสอบรายการที่ไม่ผ่านในรายงานนี้ แล้วแก้ส่วนที่แก้ได้ในโค้ด: [ลิงก์รายงาน]

แก้ในโค้ดแล้วสองรายการ ส่วนรายการที่สามเป็นระเบียน DNS ที่คุณต้องตั้งค่า

เพิ่มลงใน CI

เพิ่ม Email Spam Tester GitHub Action ลงใน workflow สำหรับการเปลี่ยนแปลงภายใต้ templates/.

เพิ่ม workflow แล้ว ต้องใช้ repository secrets สามรายการ

เพิ่มเซิร์ฟเวอร์ใน VS Code

ไฟล์จะอยู่ที่ root ของ workspace เพื่อให้ทั้งทีมได้รับไฟล์ไปพร้อมกับ repo

https://email-spam-tester.com/mcp
{  "mcpServers": {    "email-spam-tester": {      "type": "http",      "url": "https://email-spam-tester.com/mcp"    }  }}

ใช้งาน .vscode/mcp.json อยู่แล้วใช่ไหม

ไฟล์นั้นมีรูปแบบเฉพาะ โดยใช้ servers เป็นคีย์ระดับบนสุด

{
  "servers": {
    "email-spam-tester": {
      "type": "http",
      "url": "https://email-spam-tester.com/mcp"
    }
  }
}

การรีวิวโค้ดดูที่ diff
ไม่มีใครอ่านส่วนหัว

มีเครื่องมือ 4 รายการพร้อมใช้เมื่อเชื่อมต่อ

ชุดทดสอบจะไม่แจ้งข้อผิดพลาดเมื่อ DMARC alignment เริ่มไม่ผ่าน เมื่อใส่ server ไว้ใน config ของ repo ทุกคนในโปรเจกต์ก็เรียกใช้การทดสอบเดียวกันได้ด้วย prompt เดียว และไม่มีใครต้องตั้งค่าคีย์

GitHub Copilot
/mcp
  • get_test_address

    จองที่อยู่อีเมลไว้หนึ่งชั่วโมง เมื่อเปิดการทดสอบตำแหน่งกล่องขาเข้า คุณจะได้รับรายชื่อกล่องจดหมายจากผู้ให้บริการต่างๆ ด้วย

  • wait_for_report

    รอจนการตรวจสอบเสร็จ แล้วส่งคืนคะแนน รายการตรวจสอบที่ไม่ผ่านและมีคำเตือนพร้อมหลักฐาน รวมถึงแนวทางแก้ไข

  • get_report

    อ่านรายงานที่มีอยู่จาก slug รวมถึงความคืบหน้าของการตรวจสอบโฟลเดอร์

  • get_message_source

    ส่งคืนอีเมลตามที่ได้รับ พร้อมส่วนหัวตามลำดับที่ส่งมาจริง และเก็บไว้หนึ่งชั่วโมงหลังส่งถึง

คำถาม

ทำไมต้องใช้อีเมลจริงแทนการวางข้อความ?

การตรวจสอบประมาณครึ่งหนึ่งอ่านข้อมูลที่แพลตฟอร์มส่งอีเมลเพิ่มเข้ามา เช่น ลายเซ็น DKIM, เส้นทางผ่านเซิร์ฟเวอร์ และส่วนหัวสำหรับยกเลิกการสมัคร ข้อความที่วางไม่มีข้อมูลเหล่านี้ โมเดลจึงทำได้แค่คาดเดา

เซิร์ฟเวอร์มองเห็นอะไรได้บ้าง?

เซิร์ฟเวอร์มองเห็นสิ่งที่คุณส่งไปยังที่อยู่ทดสอบ ข้อความดิบจะถูกเก็บไว้หนึ่งชั่วโมงหลังจากมาถึง จากนั้นจะเหลือเฉพาะรายงานในลิงก์ที่ทุกคนซึ่งมี slug เปิดดูได้ ควรใช้อีเมลทดสอบที่คุณไม่กังวลหากต้องให้เพื่อนร่วมงานดู และอ่านรายละเอียดที่เหลือในนโยบายความเป็นส่วนตัว

คะแนนเหมือนกับบนเว็บไซต์หรือไม่?

เหมือนกัน เป็นการวิเคราะห์และหน้ารายงานเดียวกัน คุณจึงเปรียบเทียบผลที่รันจากแชตกับผลจากหน้าแรกได้

ไฟล์นี้ต้องใช้ secrets หรือไม่?

ไม่ต้อง เซิร์ฟเวอร์ไม่ใช้คีย์ คุณจึง commit ไฟล์ config ได้

VS Code จะถามก่อนรันเครื่องมือหรือไม่?

ใช่ การเรียกใช้เครื่องมือจะผ่านการยืนยันตามปกติของ VS Code เว้นแต่คุณจะอนุญาตไว้แล้ว

แล้วถ้าต้องการตรวจทุกครั้งที่ push ล่ะ?

ใช้ GitHub Action งานจะล้มเหลวเมื่อการยืนยันตัวตนไม่ผ่านหรือคะแนนลดลง

ส่งอีเมลจริงหนึ่งฉบับ แล้วดูข้อมูลที่ส่งกลับมา

คัดลอก config