ผลต่างระหว่างรุ่นของ "การศึกษาเรื่อง EAI"

จาก Wiki_EAI
ไปยังการนำทาง ไปยังการค้นหา
 
(ไม่แสดง 11 รุ่นระหว่างกลางโดยผู้ใช้คนเดียวกัน)
แถว 2: แถว 2:
 
<translate>
 
<translate>
  
== EAI คืออะไร ==
+
== EAI คืออะไร == <!--T:1-->
 
*[[คำนิยามของ RFC]]
 
*[[คำนิยามของ RFC]]
 
*[[อนุญาตให้ใช้งาน EAI อย่างไร - วิธีการของเรา]]
 
*[[อนุญาตให้ใช้งาน EAI อย่างไร - วิธีการของเรา]]
  
  
== การติดตั้งอีเมลภาษาท้องถิ่น ==
+
== การติดตั้งอีเมลภาษาท้องถิ่น == <!--T:2-->
 +
 
 +
=== การติดตั้งขั้นพื้นฐาน === <!--T:13-->
 +
รองรับ SMTPUTF8, SMTP Auth (unencrypted & TLS), imap/pop3 (unencrypted &TLS)
 +
==== Ubuntu ====
 +
*[[ฉบับย่อ - การติดตั้งแบบรวดเร็ว]] (วิธีนี้ไม่สามารถใช้ได้กับชื่อผู้ใช้ที่เป็น  NON-ASCII , สามารถใช้ alias แทนได้)
 +
*[[ฉบับเต็ม - อธิบายอย่างละเอียดทีละขั้นตอน]] ('''แนะนำ''')
 +
*ตัวอย่างไฟล์ตั้งค่า [http://tool.ts8.se.in.th/wikieai_th/files/vclass.info_main.cf]
 +
==== Centos ====
 +
*[[Centos - การติดตั้งขั้นพื้นฐาน]]
 +
*[[Centos - คำถามที่พบบ่อย]]
 +
==== Freebsd ====
 +
*[[Freesbsd - ฉบับเต็ม - อธิบายอย่างละเอียดทีละขั้นตอน]]
 +
 
 +
===พัฒนาการติดตั้งครั้งที่ 1=== <!--T:17-->
 +
 
 +
<!--T:41-->
 +
Configure Postfix to automatically add SMTPUTF8 when sending to EAI Address using Pipe Filter
 +
 
 +
<!--T:42-->
 +
คุณจะต้องมี Mail server ที่ทำการติดตั้งขั้นพื้นฐานไว้แล้ว
 +
 
 +
 
 +
<!--T:18-->
 +
ติดตั้ง php5-cli, script จะใช้ PHP
 +
<syntaxhighlight lang="bash">
 +
sudo apt-get install php5-cli
 +
</syntaxhighlight>
 +
 
 +
<!--T:19-->
 +
get ไฟล์ script แล้ววางไว้ใน /etc/postfix
 +
<syntaxhighlight lang="bash">
 +
  cd /etc/postfix
 +
  sudo wget https://raw.githubusercontent.com/padillareyj/eaifilter/master/eai-add-smtputf8.php
 +
</syntaxhighlight>
 +
 
 +
<!--T:20-->
 +
ปรับปรุง ownership และ permission
 +
<syntaxhighlight lang="bash">
 +
    cd /etc/postfix
 +
    sudo chown root:root eai-add-smtputf8.php
 +
    sudo chmod +x eai-add-smtputf8.php
 +
</syntaxhighlight>
 +
 
 +
<!--T:21-->
 +
ปรับปรุง master.cf ของคุณ  ซึงจะกรองจดหมายขาเข้าที่มาจากพอร์ต 25 และ ส่งกลับไปยังพอร์ต 10025 (สามารถเข้าถึงจากภายในเท่านั้น) มันจะแนบท้าย SMPTUTF8 ใน MAIL FROM เมื่อคำสั่งถูกดำเนินการ MAIL FROM: <MAIL> SMPTUTF8
 +
<syntaxhighlight lang="bash">
 +
smtp      inet  n      -      -      -      -      smtpd -o content_filter=eaifilter -o receive_override_options=no_header_body_checks
 +
eaifilter unix - n n - - pipe flags=RXhu user=nobody argv=/etc/postfix/eai-add-smtputf8.php -f ${sender} -d ${recipient}
 +
127.0.0.1:10025  inet  n      -      n      -      -        smtpd
 +
        -o content_filter=
 +
        -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks,no_milters
 +
        -o smtpd_helo_required=no
 +
        -o smtpd_helo_restrictions=
 +
        -o smtpd_data_restrictions=
 +
        -o smtpd_client_restrictions=
 +
        -o smtpd_sender_restrictions=
 +
        -o smtpd_recipient_restrictions=permit_mynetworks,reject
 +
        -o mynetworks_style=host
 +
        -o in_flow_delay=0
 +
</syntaxhighlight>
 +
 
 +
 
 +
<!--T:22-->
 +
ปรับปรุง main.cf
 +
<syntaxhighlight lang="bash">
 +
content_filter =eaifilter:[127.0.0.1]:10025
 +
</syntaxhighlight>
 +
 
 +
===พัฒนาการติดตั้งครั้งที่ 2=== <!--T:23-->
 +
Configure Postfix to modify sender's email address when sending to Non-EAI enabled mail server using Pipe Filter
 +
คุณจะต้องมี Mail server ที่ทำการติดตั้งขั้นพื้นฐานและไม่ได้ติดตั้งการพัฒนาการติตตั้งครั้งที่ 1
 +
 
 +
 
 +
<!--T:24-->
 +
ติดตั้ง php5-cli, script จะใช้ PHP
 +
<syntaxhighlight lang="bash">
 +
sudo apt-get install php5-cli
 +
</syntaxhighlight>
 +
 
 +
<!--T:25-->
 +
get ไฟล์ script แล้ววางไว้ใน /etc/postfix
 +
<syntaxhighlight lang="bash">
 +
  https://github.com/padillareyj/eaifilter/blob/master/eaifilter.php
 +
</syntaxhighlight>
 +
 
 +
 
 +
<!--T:26-->
 +
ตัวกรองนี้จะตรวจสอบ mail server ขาออก ว่า server รองรับ SMTPUTF8 หรือไม่ แลัวมันจะเขียนที่อยู่ของผู้ส่งในรูปแบบ non-ascii บนพื้นฐานของ alias mapping ทับลงไป
 +
 
 +
<!--T:27-->
 +
<syntaxhighlight lang="bash">
 +
smtp      inet  n      -      -      -      -      smtpd -o content_filter=eaifilter -o receive_override_options=no_header_body_checks
 +
eaifilter unix - n n - - pipe flags=RXhu user=nobody argv=/etc/postfix/eaifilter.php -f ${sender} -d ${recipient}
 +
127.0.0.1:10025  inet  n      -      n      -      -        smtpd
 +
        -o content_filter=
 +
        -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks,no_milters
 +
        -o smtpd_helo_required=no
 +
        -o smtpd_helo_restrictions=
 +
        -o smtpd_data_restrictions=
 +
        -o smtpd_client_restrictions=
 +
        -o smtpd_sender_restrictions=
 +
        -o smtpd_recipient_restrictions=permit_mynetworks,reject
 +
        -o mynetworks_style=host
 +
        -o in_flow_delay=0
 +
</syntaxhighlight>
 +
 
 +
<!--T:28-->
 +
ปรับปรุง main.cf
 +
<syntaxhighlight lang="bash">
 +
content_filter =eaifilter:[127.0.0.1]:10025
 +
</syntaxhighlight>
 +
 
 +
 
 +
===พัฒนาการติดตั้งครั้งที่ 3=== <!--T:29-->
 +
Multiple virtual domain support
 +
ข้อมูล:
 +
 
 +
<!--T:30-->
 +
* คุณจำเป็นต้องมีการติดตั้งขั้นพื้นฐาน
 +
* MySQL ไม่สามารถทำงานกับ Virtual Domains ได้ domain และ user ส่งคืนข้อความที่อ่านไม่ออกในการตรวจสอบการ login
 +
* ใช้ Virtual Alias Domain แทน (ใช้งานได้)
 +
* วิธีนี้น่าจะใช้งานได้กับ Ubuntu, Centos และ Freebsd
 +
 
 +
<!--T:31-->
 +
<syntaxhighlight lang="bash">
 +
sudo postconf "virtual_alias_domains = yourdomain1.com yourdomain2.com yourdomain3.com youretc.com โดเมนคุณ.ไทย"
 +
sudo postconf "virtual_alias_maps = hash:/etc/postfix/virtual"
 +
</syntaxhighlight >
 +
 
 +
<!--T:32-->
 +
สร้าง หรือ แก้ไขไฟล์  '''/etc/postfix/virtual'''
 +
<syntaxhighlight lang="bash">
 +
yourdomain1.com                    DOMAIN
 +
someuser@yourdomain1.com            user1
 +
 
 +
<!--T:33-->
 +
yourdomain2.com                    DOMAIN
 +
anotheruser@yourdomain2.com        user2
 +
 
 +
<!--T:34-->
 +
yourdomain3.com                    DOMAIN
 +
admin@yourdomain3.com              user3
 +
 
 +
<!--T:35-->
 +
youretc.com                        DOMAIN
 +
admin@youretc.com                  user1
 +
 
 +
<!--T:36-->
 +
โดเมนคุณ.ไทย                        DOMAIN
 +
แอดมิน@โดเมนคุณ.ไทย                  user1
 +
</syntaxhighlight >
 +
 
 +
<!--T:37-->
 +
ปรับปรุงการเปลี่ยนแปลง
 +
<syntaxhighlight lang="bash">
 +
sudo postmap /etc/postfix/virtual
 +
</syntaxhighlight >
 +
 
 +
<!--T:38-->
 +
<!--
 +
 
 +
<!--T:39-->
 
*[[การติดตั้งขั้นพื้นฐาน]] -  รองรับ SMTPUTF8, SMTP Auth (unencrypted & TLS), imap/pop3 (unencrypted &TLS)
 
*[[การติดตั้งขั้นพื้นฐาน]] -  รองรับ SMTPUTF8, SMTP Auth (unencrypted & TLS), imap/pop3 (unencrypted &TLS)
 
*[[พัฒนาการติดตั้งครั้งที่ 1]] - ตั้งค่า Postfix ให้เพิ่ม SMTPUTF8 อัตโนมัติเมื่อทำการส่ง EAI Address โดยใช้ Pipe Filter
 
*[[พัฒนาการติดตั้งครั้งที่ 1]] - ตั้งค่า Postfix ให้เพิ่ม SMTPUTF8 อัตโนมัติเมื่อทำการส่ง EAI Address โดยใช้ Pipe Filter
 
*[[พัฒนาการติดตั้งครั้งที่ 2]] - ตั้งค่า Postfix ให้แก้ไข ที่อยู่ email ของผู้ส่งเมื่อทำการส่งไปยัง mail server ที่ไม่ได้เปิดใช้งาน EAI โดยใช้ Pipe Filter  
 
*[[พัฒนาการติดตั้งครั้งที่ 2]] - ตั้งค่า Postfix ให้แก้ไข ที่อยู่ email ของผู้ส่งเมื่อทำการส่งไปยัง mail server ที่ไม่ได้เปิดใช้งาน EAI โดยใช้ Pipe Filter  
 
*[[พัฒนาการติดตั้งครั้งที่ 3]] - รองรับ Multiple virtual domain
 
*[[พัฒนาการติดตั้งครั้งที่ 3]] - รองรับ Multiple virtual domain
 +
-->
  
 
+
<!--T:3-->
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
แถว 28: แถว 191:
 
&nbsp;*วิธีนี้จะใช้ได้กับ Mail client ที่อนุญาตให้ใช้ตัวอักษรที่เป็น NON-ASCII หรือ ที่อยู่ email ที่เป็น NON-ASCII จะไม่กลายเป็นตัวอักษรที่อ่านไม่ออก
 
&nbsp;*วิธีนี้จะใช้ได้กับ Mail client ที่อนุญาตให้ใช้ตัวอักษรที่เป็น NON-ASCII หรือ ที่อยู่ email ที่เป็น NON-ASCII จะไม่กลายเป็นตัวอักษรที่อ่านไม่ออก
  
== รายการของ EAI ที่เปิดใช้งาน Mail Client ==
+
== รายการของ EAI ที่เปิดใช้งาน Mail Client == <!--T:4-->
 
  Outlook 2016  - (Base Installation)Send to EAI as NON EAI (address is copy pasted) - Yes - using Coremail Server as EAI (Receiving)
 
  Outlook 2016  - (Base Installation)Send to EAI as NON EAI (address is copy pasted) - Yes - using Coremail Server as EAI (Receiving)
 
                   (Base Installation)Receive from EAI as NON EAI - Yes - using Coremail Server as EAI (Receiving)
 
                   (Base Installation)Receive from EAI as NON EAI - Yes - using Coremail Server as EAI (Receiving)
 
                   (Base Installation)Reply From EAI as NON EAI - No (The EAI email address is garbled when received) using Coremail Server (Receiving)
 
                   (Base Installation)Reply From EAI as NON EAI - No (The EAI email address is garbled when received) using Coremail Server (Receiving)
  
== รายการของ EAI ที่เปิดใช้งาน Webmail ==
+
== รายการของ EAI ที่เปิดใช้งาน Webmail == <!--T:5-->
 
 
 
ณ เวลาที่เขียนนี้ ยังไม่มี webmail ตัวไหนที่สามารถใช้งานได้
 
ณ เวลาที่เขียนนี้ ยังไม่มี webmail ตัวไหนที่สามารถใช้งานได้
 +
NONE
  
NONE
+
== การตั้งค่า Gmail เพื่อให้ทำงานเป็น EAI Client == <!--T:8-->
 
 
== การตั้งค่า Gmail เพื่อให้ทำงานเป็น EAI Client ==
 
 
Gmail เป็นตัวเลือกที่ดีที่สุดที่จะใช้เป็น Client
 
Gmail เป็นตัวเลือกที่ดีที่สุดที่จะใช้เป็น Client
 
    
 
    
 
  NONE
 
  NONE
  
== การตั้งค่า Outlook 2016 ==
+
== การตั้งค่า Outlook 2016 == <!--T:9-->
  
  More Settings-> Outgoing Server -> Checked - My Outgoing server(SMTP) requires authentication
+
  <!--T:10-->
 +
More Settings-> Outgoing Server -> Checked - My Outgoing server(SMTP) requires authentication
 
  More Settings-> Advance -> POP3 110, SMTP 25 , Use the following type of encrypted connection TLS
 
  More Settings-> Advance -> POP3 110, SMTP 25 , Use the following type of encrypted connection TLS
  
== รายการของ Scripts  ==
+
== รายการของ Scripts  == <!--T:11-->
 
* [http://guides.thnic.or.th/eai-setup-guidelines-th/files/squirrelmail.zip Modified Squirrelmail]
 
* [http://guides.thnic.or.th/eai-setup-guidelines-th/files/squirrelmail.zip Modified Squirrelmail]
 
* [https://github.com/padillareyj/eaifilter EAI Filter Scripts]
 
* [https://github.com/padillareyj/eaifilter EAI Filter Scripts]
  
 +
 +
<!--T:40-->
 
[[Category: EAI]]
 
[[Category: EAI]]
 
</translate>
 
</translate>

รุ่นแก้ไขปัจจุบันเมื่อ 17:55, 12 กรกฎาคม 2564

ภาษาอื่น ๆ:
English • ‎ไทย

EAI คืออะไร


การติดตั้งอีเมลภาษาท้องถิ่น

การติดตั้งขั้นพื้นฐาน

รองรับ SMTPUTF8, SMTP Auth (unencrypted & TLS), imap/pop3 (unencrypted &TLS)

Ubuntu

Centos

Freebsd

พัฒนาการติดตั้งครั้งที่ 1

Configure Postfix to automatically add SMTPUTF8 when sending to EAI Address using Pipe Filter

คุณจะต้องมี Mail server ที่ทำการติดตั้งขั้นพื้นฐานไว้แล้ว


ติดตั้ง php5-cli, script จะใช้ PHP

sudo apt-get install php5-cli

get ไฟล์ script แล้ววางไว้ใน /etc/postfix

   cd /etc/postfix
   sudo wget https://raw.githubusercontent.com/padillareyj/eaifilter/master/eai-add-smtputf8.php

ปรับปรุง ownership และ permission

    cd /etc/postfix
    sudo chown root:root eai-add-smtputf8.php
    sudo chmod +x eai-add-smtputf8.php

ปรับปรุง master.cf ของคุณ ซึงจะกรองจดหมายขาเข้าที่มาจากพอร์ต 25 และ ส่งกลับไปยังพอร์ต 10025 (สามารถเข้าถึงจากภายในเท่านั้น) มันจะแนบท้าย SMPTUTF8 ใน MAIL FROM เมื่อคำสั่งถูกดำเนินการ MAIL FROM: <MAIL> SMPTUTF8

smtp      inet  n       -       -       -       -       smtpd -o content_filter=eaifilter -o receive_override_options=no_header_body_checks
eaifilter unix - n n - - pipe flags=RXhu user=nobody argv=/etc/postfix/eai-add-smtputf8.php -f ${sender} -d ${recipient}
127.0.0.1:10025   inet  n       -       n       -       -        smtpd
        -o content_filter=
        -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks,no_milters
        -o smtpd_helo_required=no
        -o smtpd_helo_restrictions=
        -o smtpd_data_restrictions=
        -o smtpd_client_restrictions=
        -o smtpd_sender_restrictions=
        -o smtpd_recipient_restrictions=permit_mynetworks,reject
        -o mynetworks_style=host
        -o in_flow_delay=0


ปรับปรุง main.cf

content_filter =eaifilter:[127.0.0.1]:10025

พัฒนาการติดตั้งครั้งที่ 2

Configure Postfix to modify sender's email address when sending to Non-EAI enabled mail server using Pipe Filter คุณจะต้องมี Mail server ที่ทำการติดตั้งขั้นพื้นฐานและไม่ได้ติดตั้งการพัฒนาการติตตั้งครั้งที่ 1


ติดตั้ง php5-cli, script จะใช้ PHP

sudo apt-get install php5-cli

get ไฟล์ script แล้ววางไว้ใน /etc/postfix

   https://github.com/padillareyj/eaifilter/blob/master/eaifilter.php


ตัวกรองนี้จะตรวจสอบ mail server ขาออก ว่า server รองรับ SMTPUTF8 หรือไม่ แลัวมันจะเขียนที่อยู่ของผู้ส่งในรูปแบบ non-ascii บนพื้นฐานของ alias mapping ทับลงไป

smtp      inet  n       -       -       -       -       smtpd -o content_filter=eaifilter -o receive_override_options=no_header_body_checks
eaifilter unix - n n - - pipe flags=RXhu user=nobody argv=/etc/postfix/eaifilter.php -f ${sender} -d ${recipient}
127.0.0.1:10025   inet  n       -       n       -       -        smtpd
        -o content_filter=
        -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks,no_milters
        -o smtpd_helo_required=no
        -o smtpd_helo_restrictions=
        -o smtpd_data_restrictions=
        -o smtpd_client_restrictions=
        -o smtpd_sender_restrictions=
        -o smtpd_recipient_restrictions=permit_mynetworks,reject
        -o mynetworks_style=host
        -o in_flow_delay=0

ปรับปรุง main.cf

content_filter =eaifilter:[127.0.0.1]:10025


พัฒนาการติดตั้งครั้งที่ 3

Multiple virtual domain support ข้อมูล:

  • คุณจำเป็นต้องมีการติดตั้งขั้นพื้นฐาน
  • MySQL ไม่สามารถทำงานกับ Virtual Domains ได้ domain และ user ส่งคืนข้อความที่อ่านไม่ออกในการตรวจสอบการ login
  • ใช้ Virtual Alias Domain แทน (ใช้งานได้)
  • วิธีนี้น่าจะใช้งานได้กับ Ubuntu, Centos และ Freebsd
sudo postconf "virtual_alias_domains = yourdomain1.com yourdomain2.com yourdomain3.com youretc.com โดเมนคุณ.ไทย"
sudo postconf "virtual_alias_maps = hash:/etc/postfix/virtual"

สร้าง หรือ แก้ไขไฟล์ /etc/postfix/virtual

yourdomain1.com                     DOMAIN
someuser@yourdomain1.com            user1

yourdomain2.com                     DOMAIN
anotheruser@yourdomain2.com         user2

yourdomain3.com                     DOMAIN
admin@yourdomain3.com               user3

youretc.com                         DOMAIN
admin@youretc.com                   user1

โดเมนคุณ.ไทย                        DOMAIN
แอดมิน@โดเมนคุณ.ไทย                  user1

ปรับปรุงการเปลี่ยนแปลง

sudo postmap /etc/postfix/virtual


การติดตั้ง LOCAL EAI SEND TO NON-EAI AS EAI RECEIVE EAI MAIL REPLY TO EAI WITH NON-EAI MAIL CLIENT REPLY TO EAI BY NON-EAI WEBMAIL REPLY TO EAI BY MODIFIED WEBMAIL RECEIVE/REPLY/SEND using Gmail as a Client
การติดตั้งขั้นพื้นฐาน NO NO YES NO NO YES YES
พัฒนาการติดตั้งครั้งที่ 1 NO NO YES YES * YES* YES YES
พัฒนาการติดตั้งครั้งที่ 2 YES YES YES YES* YES* YES YES
พัฒนาการติดตั้งครั้งที่ 3 - - - - YES YES

 *วิธีนี้จะใช้ได้กับ Mail client ที่อนุญาตให้ใช้ตัวอักษรที่เป็น NON-ASCII หรือ ที่อยู่ email ที่เป็น NON-ASCII จะไม่กลายเป็นตัวอักษรที่อ่านไม่ออก

รายการของ EAI ที่เปิดใช้งาน Mail Client

Outlook 2016   - (Base Installation)Send to EAI as NON EAI (address is copy pasted) - Yes - using Coremail Server as EAI (Receiving)
                 (Base Installation)Receive from EAI as NON EAI - Yes - using Coremail Server as EAI (Receiving)
                 (Base Installation)Reply From EAI as NON EAI - No (The EAI email address is garbled when received) using Coremail Server (Receiving)

รายการของ EAI ที่เปิดใช้งาน Webmail

ณ เวลาที่เขียนนี้ ยังไม่มี webmail ตัวไหนที่สามารถใช้งานได้ NONE

การตั้งค่า Gmail เพื่อให้ทำงานเป็น EAI Client

Gmail เป็นตัวเลือกที่ดีที่สุดที่จะใช้เป็น Client

NONE

การตั้งค่า Outlook 2016

More Settings-> Outgoing Server -> Checked - My Outgoing server(SMTP) requires authentication
More Settings-> Advance -> POP3 110, SMTP 25 , Use the following type of encrypted connection TLS

รายการของ Scripts