Author Topic: วิธี setting smart host relay on exim [FreeBSD] / CentOS 2015  (Read 6741 times)

golfreeze

  • Administrator
  • Hero Member
  • *****
  • Posts: 2140
    • View Profile
    • นั่งสมาธิ สติปัฏฐานสี่ พาเที่ยววัด แนะนำวัด แจกcd ธรรมะฟรี
    • Email
วิธี setting smart host relay on exim [FreeBSD] / CentOS 2015
« 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
« Last Edit: มีนาคม 14, 2016, 04:41:11 PM by golfreeze »

golfreeze

  • Administrator
  • Hero Member
  • *****
  • Posts: 2140
    • View Profile
    • นั่งสมาธิ สติปัฏฐานสี่ พาเที่ยววัด แนะนำวัด แจกcd ธรรมะฟรี
    • Email
Re: วิธี setting smart host relay on exim [FreeBSD]
« Reply #1 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.

golfreeze

  • Administrator
  • Hero Member
  • *****
  • Posts: 2140
    • View Profile
    • นั่งสมาธิ สติปัฏฐานสี่ พาเที่ยววัด แนะนำวัด แจกcd ธรรมะฟรี
    • Email
Re: วิธี setting smart host relay on exim [FreeBSD]
« Reply #2 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
« Last Edit: สิงหาคม 08, 2016, 03:40:23 PM by golfreeze »

golfreeze

  • Administrator
  • Hero Member
  • *****
  • Posts: 2140
    • View Profile
    • นั่งสมาธิ สติปัฏฐานสี่ พาเที่ยววัด แนะนำวัด แจกcd ธรรมะฟรี
    • Email
Re: วิธี setting smart host relay on exim [FreeBSD]
« Reply #3 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
« Last Edit: มีนาคม 14, 2016, 04:43:34 PM by golfreeze »