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

จาก Wiki_EAI
ไปยังการนำทาง ไปยังการค้นหา
(กำหนดให้รุ่นปรับปรุงนี้สำหรับการแปลภาษา)
แถว 9: แถว 9:
 
== การติดตั้งอีเมลภาษาท้องถิ่น == <!--T:2-->
 
== การติดตั้งอีเมลภาษาท้องถิ่น == <!--T:2-->
  
=== การติดตั้งขั้นพื้นฐาน ===
+
=== การติดตั้งขั้นพื้นฐาน === <!--T:13-->
 
รองรับ SMTPUTF8, SMTP Auth (unencrypted & TLS), imap/pop3 (unencrypted &TLS)
 
รองรับ SMTPUTF8, SMTP Auth (unencrypted & TLS), imap/pop3 (unencrypted &TLS)
 
*[[ฉบับย่อ - การติดตั้งแบบรวดเร็ว]] (วิธีนี้ไม่สามารถใช้ได้กับชื่อผู้ใช้ที่เป็น  NON-ASCII , สามารถใช้ alias แทนได้)
 
*[[ฉบับย่อ - การติดตั้งแบบรวดเร็ว]] (วิธีนี้ไม่สามารถใช้ได้กับชื่อผู้ใช้ที่เป็น  NON-ASCII , สามารถใช้ alias แทนได้)
 
*[[ฉบับเต็ม - อธิบายอย่างละเอียดทีละขั้นตอน]] ('''แนะนำ''')
 
*[[ฉบับเต็ม - อธิบายอย่างละเอียดทีละขั้นตอน]] ('''แนะนำ''')
  
 +
<!--T:14-->
 
*ตัวอย่างไฟล์ตั้งค่า [http://tool.ts8.se.in.th/wikieai_th/files/vclass.info_main.cf]
 
*ตัวอย่างไฟล์ตั้งค่า [http://tool.ts8.se.in.th/wikieai_th/files/vclass.info_main.cf]
  
==== Centos ====
+
==== Centos ==== <!--T:15-->
 
*[[Centos - การติดตั้งขั้นพื้นฐาน]]
 
*[[Centos - การติดตั้งขั้นพื้นฐาน]]
 
*[[Centos - คำถามที่พบบ่อย]]
 
*[[Centos - คำถามที่พบบ่อย]]
  
==== Freebsd ====
+
==== Freebsd ==== <!--T:16-->
 
*[[Freesbsd - ฉบับเต็ม - อธิบายอย่างละเอียดทีละขั้นตอน]]
 
*[[Freesbsd - ฉบับเต็ม - อธิบายอย่างละเอียดทีละขั้นตอน]]
  
===พัฒนาการติดตั้งครั้งที่ 1===
+
===พัฒนาการติดตั้งครั้งที่ 1=== <!--T:17-->
 
คุณจะต้องมี Mail server ที่ทำการติดตั้งขั้นพื้นฐานไว้แล้ว
 
คุณจะต้องมี Mail server ที่ทำการติดตั้งขั้นพื้นฐานไว้แล้ว
  
  
 +
<!--T:18-->
 
ติดตั้ง php5-cli, script จะใช้ PHP  
 
ติดตั้ง php5-cli, script จะใช้ PHP  
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
แถว 32: แถว 34:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 +
<!--T:19-->
 
get ไฟล์ script แล้ววางไว้ใน /etc/postfix
 
get ไฟล์ script แล้ววางไว้ใน /etc/postfix
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
แถว 38: แถว 41:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 +
<!--T:20-->
 
ปรับปรุง ownership และ permission
 
ปรับปรุง ownership และ permission
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
แถว 45: แถว 49:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 +
<!--T:21-->
 
ปรับปรุง master.cf ของคุณ  ซึงจะกรองจดหมายขาเข้าที่มาจากพอร์ต 25 และ ส่งกลับไปยังพอร์ต 10025 (สามารถเข้าถึงจากภายในเท่านั้น) มันจะแนบท้าย SMPTUTF8 ใน MAIL FROM เมื่อคำสั่งถูกดำเนินการ MAIL FROM: <MAIL> SMPTUTF8  
 
ปรับปรุง master.cf ของคุณ  ซึงจะกรองจดหมายขาเข้าที่มาจากพอร์ต 25 และ ส่งกลับไปยังพอร์ต 10025 (สามารถเข้าถึงจากภายในเท่านั้น) มันจะแนบท้าย SMPTUTF8 ใน MAIL FROM เมื่อคำสั่งถูกดำเนินการ MAIL FROM: <MAIL> SMPTUTF8  
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
แถว 63: แถว 68:
  
  
 +
<!--T:22-->
 
ปรับปรุง main.cf
 
ปรับปรุง main.cf
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
แถว 68: แถว 74:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
===พัฒนาการติดตั้งครั้งที่ 2===
+
===พัฒนาการติดตั้งครั้งที่ 2=== <!--T:23-->
 
คุณจะต้องมี Mail server ที่ทำการติดตั้งขั้นพื้นฐานและไม่ได้ติดตั้งการพัฒนาการติตตั้งครั้งที่ 1
 
คุณจะต้องมี Mail server ที่ทำการติดตั้งขั้นพื้นฐานและไม่ได้ติดตั้งการพัฒนาการติตตั้งครั้งที่ 1
  
  
 +
<!--T:24-->
 
ติดตั้ง php5-cli, script จะใช้ PHP
 
ติดตั้ง php5-cli, script จะใช้ PHP
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
แถว 77: แถว 84:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 +
<!--T:25-->
 
get ไฟล์ script แล้ววางไว้ใน /etc/postfix
 
get ไฟล์ script แล้ววางไว้ใน /etc/postfix
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
แถว 83: แถว 91:
  
  
 +
<!--T:26-->
 
ตัวกรองนี้จะตรวจสอบ mail server ขาออก ว่า server รองรับ SMTPUTF8 หรือไม่ แลัวมันจะเขียนที่อยู่ของผู้ส่งในรูปแบบ non-ascii บนพื้นฐานของ alias mapping ทับลงไป
 
ตัวกรองนี้จะตรวจสอบ mail server ขาออก ว่า server รองรับ SMTPUTF8 หรือไม่ แลัวมันจะเขียนที่อยู่ของผู้ส่งในรูปแบบ non-ascii บนพื้นฐานของ alias mapping ทับลงไป
  
 +
<!--T:27-->
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
smtp      inet  n      -      -      -      -      smtpd -o content_filter=eaifilter -o receive_override_options=no_header_body_checks
 
smtp      inet  n      -      -      -      -      smtpd -o content_filter=eaifilter -o receive_override_options=no_header_body_checks
แถว 101: แถว 111:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 +
<!--T:28-->
 
ปรับปรุง main.cf
 
ปรับปรุง main.cf
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
แถว 107: แถว 118:
  
  
===พัฒนาการติดตั้งครั้งที่ 3===
+
===พัฒนาการติดตั้งครั้งที่ 3=== <!--T:29-->
 
ข้อมูล:
 
ข้อมูล:
  
 +
<!--T:30-->
 
* คุณจำเป็นต้องมีการติดตั้งขั้นพื้นฐาน
 
* คุณจำเป็นต้องมีการติดตั้งขั้นพื้นฐาน
 
* MySQL ไม่สามารถทำงานกับ Virtual Domains ได้ domain และ user ส่งคืนข้อความที่อ่านไม่ออกในการตรวจสอบการ login
 
* MySQL ไม่สามารถทำงานกับ Virtual Domains ได้ domain และ user ส่งคืนข้อความที่อ่านไม่ออกในการตรวจสอบการ login
แถว 115: แถว 127:
 
* วิธีนี้น่าจะใช้งานได้กับ Ubuntu, Centos และ Freebsd
 
* วิธีนี้น่าจะใช้งานได้กับ Ubuntu, Centos และ Freebsd
  
 +
<!--T:31-->
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
sudo postconf "virtual_alias_domains = yourdomain1.com yourdomain2.com yourdomain3.com youretc.com โดเมนคุณ.ไทย"
 
sudo postconf "virtual_alias_domains = yourdomain1.com yourdomain2.com yourdomain3.com youretc.com โดเมนคุณ.ไทย"
แถว 120: แถว 133:
 
</syntaxhighlight >
 
</syntaxhighlight >
  
 +
<!--T:32-->
 
สร้าง หรือ แก้ไขไฟล์  '''/etc/postfix/virtual'''
 
สร้าง หรือ แก้ไขไฟล์  '''/etc/postfix/virtual'''
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
แถว 125: แถว 139:
 
someuser@yourdomain1.com            user1
 
someuser@yourdomain1.com            user1
  
 +
<!--T:33-->
 
yourdomain2.com                    DOMAIN
 
yourdomain2.com                    DOMAIN
 
anotheruser@yourdomain2.com        user2
 
anotheruser@yourdomain2.com        user2
  
 +
<!--T:34-->
 
yourdomain3.com                    DOMAIN
 
yourdomain3.com                    DOMAIN
 
admin@yourdomain3.com              user3
 
admin@yourdomain3.com              user3
  
 +
<!--T:35-->
 
youretc.com                        DOMAIN
 
youretc.com                        DOMAIN
 
admin@youretc.com                  user1
 
admin@youretc.com                  user1
  
 +
<!--T:36-->
 
โดเมนคุณ.ไทย                        DOMAIN
 
โดเมนคุณ.ไทย                        DOMAIN
 
แอดมิน@โดเมนคุณ.ไทย                  user1
 
แอดมิน@โดเมนคุณ.ไทย                  user1
 
</syntaxhighlight >
 
</syntaxhighlight >
  
 +
<!--T:37-->
 
ปรับปรุงการเปลี่ยนแปลง
 
ปรับปรุงการเปลี่ยนแปลง
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
แถว 143: แถว 162:
 
</syntaxhighlight >
 
</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
แถว 194: แถว 215:
 
* [https://github.com/padillareyj/eaifilter EAI Filter Scripts]
 
* [https://github.com/padillareyj/eaifilter EAI Filter Scripts]
  
xx <!--T:12-->
+
<!--T:12-->
 +
xx
  
 +
<!--T:40-->
 
[[Category: EAI]]
 
[[Category: EAI]]
 
</translate>
 
</translate>

รุ่นแก้ไขเมื่อ 17:21, 12 กรกฎาคม 2564

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

EAI คืออะไร


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

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

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

  • ตัวอย่างไฟล์ตั้งค่า [1]

Centos

Freebsd

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

คุณจะต้องมี 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

คุณจะต้องมี 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

ข้อมูล:

  • คุณจำเป็นต้องมีการติดตั้งขั้นพื้นฐาน
  • 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

xx