คอนฟิกให้ RasPBX ส่งเมล์ด้วย Gmail Account

Running Debian, Asterisk and FreePBX on the Raspberry Pi

คอนฟิกให้ RasPBX ส่งเมล์ด้วย Gmail Account

โพสต์โดย nuiz » 19 ก.ย. 2015 18:42

RasPBX จำเป็นต้องส่ง email อยู่ 2 สถานการณ์ ณ ตอนนี้ครับ อย่างแรกคือเมื่อใช้งาน voicemail to email และอย่างที่สองคือ fax to email ครับ บทความนี้ผมจะแนะนำวิธีการคอนฟิก RasPBX ให้ส่งเมล์ผ่าน Gmail โดยผมจะให้มันทำงานเป็น Client ของ Gmail ครับ ส่งเมล์ด้วย Gmail Username/Password ที่ผมได้สมัครไว้

** 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
** หากมีปัญหากับอุปกรณ์หรือบริการที่ทำหรือซื้อมาเอง ให้โพสต์ถามในเว็บนะครับ ขอสงวนสิทธิ์การให้ความช่วยเหลือแบบส่วนตัวเฉพาะลูกค้าที่ซื้อสินค้าและบริการจากผมเท่านั้นครับ **
** ติดต่อว่าจ้างที่เบอร์ 08-5161-9439 อีเมล์ iamaladin@gmail.com ครับ **
nuiz
Diamond Member
 
โพสต์: 4382
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33

ย้อนกลับไปยัง RasPBX - Asterisk for Raspberry Pi

ผู้ใช้งานขณะนี้

่กำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และ บุคคลทั่วไป 1 ท่าน