** Email ไม่ควรมี . เช่น email.1@gmail.com อย่างนี้เป็นต้น **
บน RasPBX มีโปรแกรมรับส่งเมล์ (SMTP) ที่เอามาคอนฟิกใช้งานได้เลยก็คือ Exim4 ครับ หน้าที่เราคือแก้ไขไฟล์คอนฟิกของ Exim4 ให้เชื่อมต่อกับ Gmail ได้ ส่วนตอนส่งเมล์จะเป็นหน้าที่ของ Hylafax ครับ สั่งงานผ่านสคริปต์ของมัน
** สำคัญมากสำหรับท่านที่จะใช้ Free Email ไม่ว่าจะเป็น Gmail, Hotmail ก็ตาม ให้หมั่นเข้าหน้าเว็บลองล๊อกอินดูครับ เพราะบางทีมันบังคับให้เราต้องกดยอมรับอะไรสักอย่าง รวมทั้งให้ใส่เบอร์มือถือเพื่อรับรหัสทาง SMS เพื่อมากรอกในหน้าเว็บของเขาด้วย ถ้าไม่ผ่านขั้นตอนนี้ก็จะเข้าเช็คเมล์ไม่ได้ นั่นหมายความว่า RasPBX ก็จะส่งเมล์ไม่ได้เช่นเดียวกันครับ **
เอาหล่ะครับ เราได้รู้เบสิคการทำงานเบื้องต้นแล้ว ลำดับต่อไปก็มาคอนฟิก Exim4 กันครับ
1. คอนฟิก Exim4
เปิดไฟล์ /etc/exim4/update-exim4.conf.conf
- โค้ด: เลือกทั้งหมด
nano /etc/exim4/update-exim4.conf.conf
แก้ไขข้อมูลประมาณนี้
dc_eximconfig_configtype='smarthost'
dc_other_hostnames='efax.com' <- ใส่ชื่อโดเมนของเรา หรือใส่ค่าอะไรก็ได้ เช่น myfax, efax เป็นต้น
dc_local_interfaces='127.0.0.1' <- ให้รันแค่ไอพี 127.0.0.1 ครับเพื่อให้ให้ภายนอกส่งเมล์เข้ามาได้ ป้องกันแสปมในกรณีเราต่ออินเตอร์เน็ตโดยตรง
dc_readhost=''
dc_relay_domains=''
dc_minimaldns='false'
dc_relay_nets=''
dc_smarthost='smtp.gmail.com::587' <- ใส่ตามนี้เลย สังเกตุว่ามีเครื่องหมาย : สองครั้ง
CFILEMODE='644'
dc_use_split_config='true'
dc_hide_mailname='false'
dc_mailname_in_oh='true'
dc_localdelivery='mail_spool'
2. ใส่ Gmail Username/Password
สมมติว่า Username=USER และ Password=PASS ครับ
เปิดไฟล์ /etc/exim4/passwd.client
- โค้ด: เลือกทั้งหมด
nano /etc/exim4/passwd.client
เพิ่มบรรทัดนี้ แล้วบันทึกไฟล์
- โค้ด: เลือกทั้งหมด
*.google.com:USER@gmail.com:PASS
ข้อความ *.google.com หมายถึงให้รองรับทุกๆโฮสต์ของ gmail ครับ ซึ่งมันมีหลายชื่อมากแต่ก็ลงท้ายด้วย google.com เสมอ
แล้วเซ็ต Permission ของไฟล์ครับ
- โค้ด: เลือกทั้งหมด
chown root:Debian-exim /etc/exim4/passwd.client
chmod 640 /etc/exim4/passwd.client
3. ในไฟล์ /etc/email-addresses
ใส่ข้อมูล 2 บรรทัดนี้
- โค้ด: เลือกทั้งหมด
root: USER@gmail.com
asterisk: USER@gmail.com
4. เพิ่มหรือแก้ไขข้อมูลในไฟล์ /etc/mailname
- โค้ด: เลือกทั้งหมด
gmail.com
5. สั่งอัพเดทคอนฟิก Exim4
คำสั่ง
- โค้ด: เลือกทั้งหมด
update-exim4.conf
เป็นคำสั่งอยู่ในโฟลเดอร์ /usr/sbin ครับ เมื่อสั่งแล้วจะไรท์คอนฟิกลงในไฟล์ /var/lib/exim4/config.autogenerated อีกที ซึ่ง Exim4 จะเอาคอนฟิกในไฟล์นี้ไปใช้งานครับ ดังนั้นหากเราแก้ไขคอนฟิกในไฟล์ /etc/exim4/update-exim4.conf.conf แต่ลืมรันคำสั่งดังกล่าวก็จะยังไม่มีผลครับ และในไฟล์ /var/lib/exim4/config.autogenerated ยังมีพารามิเตอร์ดีฟอลท์ที่ไม่ได้ตั้งค่าไว้ในไฟล์ /etc/exim4/update-exim4.conf.conf ครับ ซึ่งพารามิเตอร์ทั้งหมดนี้มาจากไฟล์ /etc/exim4/exim4.conf.template ครับ
6. รีสตาร์ท Exim4
- โค้ด: เลือกทั้งหมด
service exim4 restart
7. ดู Log file
โปรแกรม Exim4 เก็บ Log ไว้ในไฟล์ /var/log/exim4/mainlog ถ้าติดปัญหาอะไรก็มาเช็คที่ไฟล์นี้ได้เลยครับ บอกข้อมูลค่อนข้างละเอียด ตัวอย่างข้อความที่ RasPBX คุยกับ Gmail เป็นระยะๆครับ นี่คือข้อความที่เวอร์ค
- โค้ด: เลือกทั้งหมด
2015-09-27 21:26:21 1ZgCuD-0002wq-Dh <= USER@gmail.com U=asterisk P=local S=1092
2015-09-27 21:26:25 1ZgCuD-0002wq-Dh => asterisk@gmail.com R=smarthost T=remote_smtp_smarthost H=gmail-smtp-msa.l.google.com [74.125.130.109] X=TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128 DN="C=US,ST=California,L=Mountain View,O=Google Inc,CN=smtp.gmail.com" A=plain C="250 2.0.0 OK 1443363985 kw10sm14110208pbc.25 - gsmtp"
2015-09-27 21:26:25 1ZgCuD-0002wq-Dh Completed
8. ส่งเมล์ทดสอบ
รันคำสั่งนี้เพื่อทดสอบส่งเมล์ครับ ผมจะส่งเมล์ไปหา iamaladin@gmail.com ก็รันคำสั่งแบบนี้
- โค้ด: เลือกทั้งหมด
send_test_email iamaladin@gmail.com
9. เช็คอีเมล์
มีอีเมล์หน้าตาแบบนี้ส่งเข้า email ของผมครับ แสดงว่าเวอร์คแล้ว
บทความที่เกี่ยวข้อง
แนะนำ Raspberry PI เครื่องเล็กๆแต่ความสามารถไม่เล็ก
เทคนิคการติดตั้ง Asterisk + FreePBX บนเครื่อง Raspberry Pi