เตรียมระบบเมลให้พร้อม ก่อน reportbug

จากบทความ "reportbug - เมื่อคุณเจอบั๊ก" ที่พี่เทพ เขียนไว้นานแล้ว ก็ได้มานั่งอ่านอีกรอบ หลังจากที่เคยอ่านไปนานแล้วเหมือนกัน แต่ไม่เคยได้ reportbug กับเขาสักที พอไปเจอ bug เข้า ก็อยากจะลอง file bug กับเขาบ้าง ทำตามบทความนี้เลย ปรากฏว่า "เงียบแฮะ" .. ตรวจสอบไป ตรวจสอบมา ก็ได้ความว่า เครื่องเราไม่สามารถส่งเมลออกไปโดยตรงได้ (ใช้ ADSL) ก็เลยนึกขึ้นได้ว่า น่าจะใช้ gmail ในการส่งจดหมาย reportbug ในครั้งนี้

ค้นดูใน DebianClub.org ก่อน ก็เห็น "แก้ปัญหาการส่งเมล โดยใช้ gmail" ของคุณ wd เขียนไว้ แต่เผอิญว่า ผมไม่คุ้นกับ postfix เลยคิดว่าจะหาหนทางอื่นดู ที่ใช้ได้กับ exim4 ซึ่งเป็น default MTA ของ Debian และในขณะนี้ผมก็กำลังใช้ Sid (Unstable) อยู่ ได้ความดังนี้ (เปลี่ยนบรรยากาศ มีรูปมาให้ดูบ้าง จะได้ไม่เครียด :P )

  1. ปรับตั้งค่าของ exim4 ให้ใช้งาน smarthost (กรณีผมไม่ใช้ รับ Mail)
    # dpkg-reconfigure exim4-config
    • เลือกส่งเมลด้วย smarthost, ไม่รับเมลในเครื่อง
    • ตั้งชื่อเมลของระบบเป็น localhost
    • ที่อยู่ IP รอรับการเชื่อมต่อ SMTP ก็กำหนด 127.0.0.1
    • ที่อยู่ปลายทางอื่น ก็ ว่าง ไว้
    • ชื่อโดเมนที่ปรากฏสำหรับผู้ใช้ท้องถิ่น ก็ localhost
    • อันนี้พระเอกของงานนี้ ก็กำหนด smtp.gmail.com::587 (อย่าลืมว่า :: - ทวิภาค(colon) 2 ตัวนะครับ)
    • เลือกจำกัดจำนวนการสอบถาม DNS (เราใช้ ADSL ไม่ได้ต่อเน็ตตลอดเวลา)
    • เลือกที่จะแยกค่าตั้งเป็นแฟ้มเล็ก ๆ (ตัวนี้มีความจำเป็นสำหรับเป้าหมายของเราในครั้งนี้ครับ)
  2. เพิ่ม account ของ gmail เข้าในแฟ้ม /etc/exim4/passwd.client
    *.google.com:yourAccountName@gmail.com:y0uRpaSsw0RD

    ก็จัดการใส่ account และ password ของตัวเองตามสะดวกเลยนะครับ

  3. เพิ่มการ map เมลท้องถิ่น สำหรับการส่งจดหมายออก เข้ากับ gmail account ที่แฟ้ม /etc/email-address
    user@localhost: yourAccountName@gmail.com

    ก็ปรับกันตามความเป็นจริงนะครับ ในที่นี้ถือว่าระบบที่เรากำลังใช้อยู่ใช้ชื่อผู้ใช้ว่า "user" นั่นหมายความว่าหาก user ต้องการส่งเมล ระบบจำทำการปรับให้เป็นการส่งจาก yourAccountName@gmail.com ครับ

  4. เสร็จสิ้นกระบวนการแล้ว ก็แจ้งระบบให้ทราบว่ามีการปรับแก้ค่าตั้ง
    # update-exim4.conf
  5. ถ้าไม่มีอะไรผิดพลาด ระบบก็น่าจะพร้อมส่งเมลได้แล้ว ลองส่งเมลหาตัวเองดู
    user@com:~$ mail -s test yourAccountName@gmail.com
    Test
    [Ctrl+D]
    CC:

    ลองตรวจสอบดูใน gmail ว่ามีคน(ก็เราเองนั่นหละ)ส่งเมลหาเราไหม :P
    ถ้าไม่มี ลองตรวจสอบที่แฟ้มปูม :P /var/log/exim4/mainlog

    # tail /var/log/exim4/mainlog

    อะไรผิดพลาดก็ได้รู้กันครับ ส่วนวิธีแก้ไข ก็ค่อยถามไถ่กันครับ
    หลังจาก reportbug ไปแล้ว ก็คิดว่าวันนี้ไปก่อนหละครับ ง่วงนอนแล้ว :o zZZ

อ้างอิง: Using Exim4 to send Messages through GMail (http://wiki.debian.org/GmailAndExim4)

Comments

ความจริงเคยเขียนไว้เหมือนกันในต้นฉบับแรกของบทความ ใช้ GMail IMAP ผ่าน Mutt ในส่วนของการส่งเมลผ่าน SMTP ของ GMail แต่เผอิญว่า Mutt รุ่นใหม่สนับสนุน SMTP ในตัวแล้ว ก็เลยแก้เนื้อหามาใช้วิธีของ Mutt แทน

ขอบคุณที่เอาเรื่องนี้กลับมาอีก เขียนแนวนี้อ่านง่ายดีครับ มือใหม่คงชอบ :)

> เขียนแนวนี้อ่านง่ายดีครับ มือใหม่คงชอบ
:)

จริง ๆ แล้ว ใน reportbug มี options ที่ให้ตั้งค่า smarthost ได้เลย
แต่ผมอยากลองใช้ exim4 ด้วย และก็เป็นการดีสำหรับท่านอื่น ๆ ที่ต้องการ
ส่งเมลใน CMS อย่าง Drupal หรืออื่น ๆ ในกาลต่อไปครับ :P
___
Neutron: Linux Addict!

Creative Commons License ลิขสิทธิ์ของบทความเป็นของเจ้าของบทความแต่ละชิ้น
ผลงานนี้ ใช้สัญญาอนุญาตของครีเอทีฟคอมมอนส์แบบ แสดงที่มา-อนุญาตแบบเดียวกัน 3.0 ที่ยังไม่ได้ปรับแก้