Golfreeze.packetlove.com: Life style of Golfreeze Canon400D Family kammtan.com Jazz Freebsd Unix Linux System Admin guitar Music

All about unix linux freebsd and FAQ for Packetlove.com Web hosting , Mail hosting , VoIP + IP PBX server => Mail issue , problem , configuration => Topic started by: golfreeze on มีนาคม 06, 2014, 03:59:46 PM

Title: วิธี setting smart host relay on exim [FreeBSD] / CentOS 2015
Post by: golfreeze on มีนาคม 06, 2014, 03:59:46 PM
วันนี้ มีการเทส relay host ใน exim ครับ

#cd /usr/local/etc/exim
#vi configure

ค้นหาดูที่ส่วนของ  "begin route"
แล้วเพิ่ม configure ดังนี้ โดยที่ x.x.x.x คือ ip ที่ต้องการทำ relay ไป ณ เครื่องนั้นๆ

smart_host_relay:
  driver = manualroute
  route_list = !+local_domains x.x.x.x
  transport = remote_smtp


หลังจากนั้นทำการ restart exim
#/usr/local/etc/rc.d/exim restart ;  tail -f /var/log/exim/mainlog
Title: Re: วิธี setting smart host relay on exim [FreeBSD]
Post by: golfreeze on มีนาคม 06, 2014, 04:05:27 PM
การพยายามส่งเมล หรือ retry queue บน MTA=exim

# This single retry rule applies to all domains and all errors. It specifies
# retries every 15 minutes for 2 hours, then increasing retry intervals,
# starting at 1 hour and increasing each time by a factor of 1.5, up to 16
# hours, then retries every 6 hours until 4 days have passed since the first
# failed delivery.

กฏนี้ ถูกนำมาใช้งานกับ ทุก domain บน server มันจะพยายามส่งทุกๆ 15 นาที ภายในช่วง 2 ชม
หลังจากนั้นจะทำการเพิ่ม ระยะห่างในการพยายาม ส่งเมลจาก 1 ชม แล้วก็จะเพิ่มขึ้นเรื่อยๆ จาก 1.5 ไปจนถึง 16 ชม
หลังจากนั้น ถ้ายังไม่สามารถ connect ปลายทางได้ ก็จะพยายามต่อ ทุกๆ 6 ชม. จนกระทั่งถึง 4 วัน แล้วก็จะแสดง error fail delivery.
Title: Re: วิธี setting smart host relay on exim [FreeBSD]
Post by: golfreeze on สิงหาคม 06, 2015, 10:40:59 PM
หรือถ้าเป็น exim รุ่นใหม่ให้แก้ไขที่ไฟล์ exim.conf ครับ
#vi /etc/exim.conf

หาบันทัดที่เป็น

begin routers

แล้วเพิ่ม configure ดังนี้ลงไปครับผม
ค้นหาดูที่ส่วนของ  "begin route"
แล้วเพิ่ม configure ดังนี้ โดยที่ x.x.x.x คือ ip ที่ต้องการทำ relay ไป ณ เครื่องนั้นๆ

smart_host_relay:
  driver = manualroute
  route_list = !+local_domains x.x.x.x
  transport = remote_smtp


หลังจากนั้นทำการ restart exim
#/usr/local/etc/rc.d/exim restart ;  tail -f /var/log/exim/mainlog
Title: Re: วิธี setting smart host relay on exim [FreeBSD]
Post by: golfreeze on มีนาคม 14, 2016, 04:40:54 PM
ปกติการปรับ mail relay บน exim ทำได้ไม่ยากครับ ใช้ในการแก้ไขปัญหาเบื้องต้น ถ้า ip โดน blacklist ก่อนอื่นเลย
backup exim.conf ไว้ก่อนครับ
#cp exim.conf exim.conf_before_change
สำหรับตัว version ใหม่ของตัว exim.conf จะมีในส่วนของ การปรับ relay ตามนี้ครับจาก configure  เดิมคือ

#ip ที่จะให้ส่งเมลไป : 201.111.222.224
#ip ที่จะรับเมล relay :   203.144.215.9x

lookuphost:
   driver = dnslookup
   domains = ! +local_domains
   ignore_target_hosts = 127.0.0.0/8
   condition = "${perl{check_limits}}"
   transport = remote_smtp
   no_more

จะทำการ relay mail ออกไป server ip : 203.144.215.9x

smart_route:
     driver = manualroute
     domains = ! +local_domains
     ignore_target_hosts = 127.0.0.0/8
     condition = "${perl{check_limits}}"
     transport = remote_smtp
     route_list = * 203.144.215.9x
     no_more

ทำการ restart exim 1 ครั้งครับ
####Debian/CentOS
#/etc/init.d/exim restart
####FreeBSD  
#/usr/local/etc/rc.d/exim restart

หลังจากนั้นคือการเทสครับผม ดู maillog ควบคู่กันไปด้วยนะครับ

มีทริกเพิ่มเติม ในเครื่องปลายทาง 203.144.215.9x ให้ทำการแอด whitelist_hosts ให้กับ ip 201.111.222.224 ด้วย
#vi /etc/virtual/whitelist_hosts
201.111.222.224

##reference site
http://help.directadmin.com/item.php?id=153 (http://help.directadmin.com/item.php?id=153)