คำสั่ง mail ต้องการเมลเซิร์ฟเวอร์หรือไม่?


16

จำเป็นต้องตั้งค่าเซิร์ฟเวอร์อีเมลก่อนที่จะสามารถใช้mailคำสั่งlinux ได้หรือไม่



@slm ไม่ได้จริงๆเช่นเดียวกับที่คำแนะนำคำถามที่หนึ่งต้องเซิร์ฟเวอร์ SMTP ที่จะเรียกใช้ mail แต่ผมถามว่ามันเป็นสิ่งจำเป็นอย่างยิ่ง
ปึก

1
ใช่มันเป็นไปได้ที่ซ้ำกันฉันได้ตอบคุณ b / c ว่า Q ใช้มันเฉพาะเจาะจงเกินไป ยังคงรู้สึกเหมือนเป็นคู่ แต่ฉันตอบคุณต่อไป 8-)
slm

คำตอบ:


14

ไม่คุณไม่จำเป็นต้องใช้เซิร์ฟเวอร์อีเมลในการส่งจดหมาย ฉันคุ้นเคยกับ Sendmail มากที่สุดและมีฟังก์ชั่นการจำแนก 3 ประเภทที่ตอบสนองอีเมลเป็นบริการ MDA (Mail Delivery Agent) คือ 1 และ MTA (Mail Transfer Agents) คือ 2 และ 3 คือ MUA (Mail User Agent)

คำศัพท์สับสน แต่คุณไม่ต้องการให้ MTA ทำงานตลอดเวลา MTA จะถูกเรียกทุกครั้งที่ MUA ( mail) ต้องการ "ส่ง" เมล

เมื่อคุณเรียกใช้และคุณระบุที่อยู่ที่จะส่งจดหมายไปmail sam@example.comไคลเอนต์อีเมลจะเรียก MTA ( /usr/bin/sendmail) ซึ่งจะทำการสืบค้น DNS สำหรับโฮสต์ / โดเมนนั้น (example.com) และค้นหาว่ามีการกำหนดค่าใดสำหรับเรคคอร์ด MX MX ย่อมาจาก Mail Exchanger

ตัวอย่าง

คุณสามารถใช้digคำสั่งเพื่อดูสิ่งนี้:

$ dig gnu.org mx

; <<>> DiG 9.7.4-P1-RedHat-9.7.4-2.P1.fc14 <<>> gnu.org mx
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21053
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 2

;; QUESTION SECTION:
;gnu.org.           IN  MX

;; ANSWER SECTION:
gnu.org.        299 IN  MX  10 eggs.gnu.org.

;; ADDITIONAL SECTION:
eggs.gnu.org.       299 IN  A   208.118.235.92
eggs.gnu.org.       299 IN  AAAA    2001:4830:134:3::10

;; Query time: 218 msec
;; SERVER: 192.168.1.8#53(192.168.1.8)
;; WHEN: Thu Oct  3 17:27:22 2013
;; MSG SIZE  rcvd: 90

ดังนั้นลูกค้าจะพยายามเชื่อมต่อกับ eggs.gnu.org บนพอร์ต 25 เพื่อส่งอีเมลนี้

เซิร์ฟเวอร์ DNS

@puk ถามคำถามติดตามผลต่อไปนี้:

นี่เป็น DNS บนเครื่องท้องถิ่นของฉันหรือไม่

ที่ฉันตอบว่า:

@puk - มันอาจเป็นไปในลักษณะเดียวกับที่เมลเซิร์ฟเวอร์สามารถเป็นได้ แต่โดยทั่วไปแล้วไม่ใช่ ดูใน/etc/resolv.confไฟล์ของคุณและเมื่อคุณเรียกใช้digคำสั่งคุณจะสังเกตเห็นSERVER: ...บรรทัดที่ด้านล่าง นั่นคือเซิร์ฟเวอร์ DNS ที่ให้บริการตามคำขอของคุณ

ตัวอย่าง

/etc/resolv.confไฟล์ของฉันมีดังต่อไปนี้:

nameserver 192.168.1.8

และแบบสอบถามเช่นนี้โดยใช้dig:

$ dig gnu.org mx

ส่งผลให้ด้านล่าง:

;; Query time: 259 msec
;; SERVER: 192.168.1.8#53(192.168.1.8)
;; WHEN: Thu Oct  3 17:46:13 2013
;; MSG SIZE  rcvd: 90

และสำหรับผู้อ่านที่ฉลาดคนหนึ่งถามว่าจะกำหนดค่านี้ได้อย่างไร คำตอบคือ/etc/nsswitch.confไฟล์ บรรทัดนี้โดยเฉพาะ:

hosts:      files mdns4_minimal [NOTFOUND=return] dns

ที่บอกว่าใช้ไฟล์แรก ( /etc/hosts) mdns4_minimalตามด้วย นั่นคือมัลติคาสต์ DNS มันเป็นแคชของการค้นหาก่อนหน้านี้ สุดท้ายจะใช้dnsซึ่งเป็นที่อยู่ IP ของที่nameserverกำหนดไว้ใน/etc/resolv.confไฟล์


นี่เป็น DNS บนเครื่องท้องถิ่นของฉันหรือไม่
puk

@puk - ดูการอัปเดต
slm

@puk - ฉันได้เพิ่มมากขึ้น ....
slm

7

ขึ้นอยู่กับเวอร์ชันของmailคุณที่ใช้

ทุกรุ่นต้องใช้ MTA เพื่อส่งเมลจริง แต่บางรุ่นมีความสามารถในการใช้ SMTP เพื่อพูดคุยกับ MTA ระยะไกล ("smarthost" เช่นเซิร์ฟเวอร์อีเมลของ ISP) และบางรุ่นสามารถส่งข้อความไป/usr/sbin/sendmailยังเมล์ผ่านทางเท่านั้น MTA ท้องถิ่น

ในกรณีหลังเอ็มทีท้องถิ่นอาจจะเป็นเอ็มทีเต็มเปี่ยมเช่นsendmailหรือeximหรือpostfix หรือมันอาจจะเป็นเอ็มทีส่งเพียงง่ายๆเช่นnullmailerหรือssmtp หรือ mini-MTA ที่ซับซ้อนกว่าเล็กน้อยเช่นmsmtpซึ่งรองรับเมลที่รอคิวสำหรับการจัดส่งในภายหลัง

ในโลกซอฟต์แวร์ฟรีและเปิดแหล่งที่มามีสองสายพันธุ์หลักของmailxแพคเกจ (ซึ่งมีmailคำสั่ง) และbsd-mailxheirloom-mailx

bsd-mailxไม่พูดถึง SMTP และสามารถส่งจดหมายได้โดยการส่งไปที่/usr/sbin/sendmail

hierloom-mailxสามารถพูดคุยกับ SMTP กับสมาร์ทโฮสต์เช่นเดียวกับวิธีการ 'ไปสู่ ​​sendmail' แบบดั้งเดิม

ดังนั้นเพื่อตอบคำถามของคุณ "คุณต้องการเซิร์ฟเวอร์อีเมลหรือไม่" ใช่แล้ว คุณต้องมี แต่ขึ้นอยู่กับรุ่นของจดหมายที่คุณติดตั้งคุณอาจไม่ต้องติดตั้งและกำหนดค่าบนระบบของคุณเอง

IMO คุณจะดีกว่าด้วย MTA ที่น้อยที่สุดเช่นmsmtpอาศัยสมาร์ทโฮสต์เพียงอย่างเดียวheirloom-mailxเพราะคุณยังต้องจัดคิวเมลสำหรับการส่งในภายหลังเมื่อการเชื่อมต่ออินเทอร์เน็ตของคุณหยุดทำงานหรือสมาร์ทโฮสต์ของคุณไม่สามารถเข้าถึงได้ ด้วยคิวโลคัลmailและcrondโปรแกรมอื่น ๆ ก็สามารถส่งและลืมเมลใดก็ได้ หากไม่มีคิวท้องถิ่นพวกเขาจะต้องจัดการกับเงื่อนไขข้อผิดพลาดอย่างใดอย่างหนึ่งหากสมาร์ทโฮสต์ไม่พร้อมใช้งาน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.