sendmail: làm thế nào để cấu hình sendmail trên Ubuntu? [đóng cửa]


189

Khi tôi tìm kiếm cấu hình sendmail trên Ubuntu, tôi không nhận được câu trả lời rõ ràng nào, mỗi người trong số họ cho rằng tôi biết họ đang nói về điều gì,

Tôi chỉ muốn cấu hình cơ bản để cho phép gửi email, về cơ bản tôi sẽ sử dụng nó với công cụ ứng dụng google để cho phép gửi thư từ máy chủ dev.

Tôi đã làm điều này:

sudo apt-get install sendmail

sau đó

sudo sendmailconfig

nhưng tôi không biết người cuối cùng thực sự đã làm gì.


4
@ThiefMaster chúng tôi không di chuyển câu hỏi đến các trang web SE thích hợp nữa?
Michael

Câu hỏi này quá cũ để được di chuyển (và nó đã bị như vậy khi tôi đóng nó).
ThiefMaster

1
Không có câu trả lời nào trong số này làm việc cho tôi. Tôi tìm thấy bài viết trực tuyến này phù hợp với tôi: daveperrett.com/articles/2013/03/19/NH
Sid trực tuyến

@ThiefMaster định nghĩa "quá cũ" bạn đang nói sendmail đã lỗi thời? Nghĩ lại.
PJ Brunet

@PJBrunetWhile Tôi nghĩ sendmaillà đã lỗi thời (có nhiều lựa chọn thay thế tốt hơn nhiều!), Nhận xét của tôi NĂM NĂM trước chỉ đơn giản là về việc chúng tôi không chuyển các câu hỏi cũ sang trang SE khác.
ThiefMaster

Câu trả lời:


145

Khi bạn nhập sudo sendmailconfig, bạn sẽ được nhắc cấu hình sendmail.

Để tham khảo, các tệp được cập nhật trong khi định cấu hình được đặt ở phần sau (trong trường hợp bạn muốn cập nhật chúng theo cách thủ công):

/etc/mail/sendmail.conf
/etc/cron.d/sendmail
/etc/mail/sendmail.mc

Bạn có thể kiểm tra sendmail để xem nó có được cấu hình và thiết lập đúng hay không bằng cách nhập dòng sau vào dòng lệnh:

$ echo "My test email being sent from sendmail" | /usr/sbin/sendmail myemail@domain.com

Sau đây sẽ cho phép bạn thêm chuyển tiếp smtp vào sendmail:

#Change to your mail config directory:
cd /etc/mail

#Make a auth subdirectory
mkdir auth
chmod 700 auth

#Create a file with your auth information to the smtp server
cd auth
touch client-info

#In the file, put the following, matching up to your smtp server:
AuthInfo:your.isp.net "U:root" "I:user" "P:password"

#Generate the Authentication database, make both files readable only by root
makemap hash client-info < client-info
chmod 600 client-info
cd ..

Thêm các dòng sau để sendmail.mc, nhưng trước khi sự MAILERDEFINITIONS. Hãy chắc chắn rằng bạn cập nhật máy chủ smtp của bạn.

define(`SMART_HOST',`your.isp.net')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
FEATURE(`authinfo',`hash -o /etc/mail/auth/client-info.db')dnl

Gọi sendmail.cf tạo (chạy thay thế make -C /etc/mail):

m4 sendmail.mc > sendmail.cf

Khởi động lại daemon sendmail:

service sendmail restart

2
Khi thử lệnh cuối cùng tôi nhận được bash này: Email thử nghiệm của tôi được gửi từ sendmail: Không có tệp hoặc thư mục như vậy
UXE

2
xin lỗi, khi bạn nói your.isp.net, tôi đặt gmail.comhoặc smtp.gmail.comở đó?
Houman

30
Một điều không rõ ràng là những gì thay thế để thực hiện trong AuthInfo: your.isp.net "U: root" "I: user" "P: password" Cụ thể, làm thế nào để bạn thay thế U: root và I: user
Tom Haws

13
Trong trường hợp bất kỳ ai khác bị nhầm lẫn, các chuỗi bên trong sendmail.mctệp cần phải ở dạng BACKTICK + văn bản của bạn + SINGLE QUOTE.
Thomas

2
Đây là cấu hình duy nhất hoạt động hoàn hảo với tôi: linuxconfig.org/configuring-gmail-as-sendmail-email-relay
Jared Eitnier

35

Tôi đã nhận được câu trả lời hàng đầu hoạt động (chưa thể trả lời) sau một lần chỉnh sửa nhỏ

Điều này đã không làm việc cho tôi:

FEATURE('authinfo','hash /etc/mail/auth/client-info')dnl

Trích dẫn đơn đầu tiên cho mỗi chuỗi nên được thay đổi thành backtick (`) như thế này:

FEATURE(`authinfo',`hash /etc/mail/auth/client-info')dnl

Sau khi thay đổi, tôi chạy:

sudo sendmailconfig

Và tôi đang kinh doanh :)


3
Cho dù tôi có sử dụng bản sửa lỗi của mình hay không, khi tôi gọi dịch vụ sendmail khởi động lại, tôi nhận được fileclass: không thể mở 'ATURE (authinfo,': Không có tệp hoặc thư mục như vậy
Tom Haws

4
đó là "ĐẶC ĐIỂM" chứ không phải "ATURE", hãy kiểm tra bản sao / dán của bạn
jyavenard

bạn phải dán nó vào một vị trí khác trong sendmail.cf (tôi đặt nó ngay phía trên bưu phẩm, nhưng tôi vẫn không nhận được thư)
Toskan

14

Kết hợp hai câu trả lời ở trên, cuối cùng tôi cũng làm cho nó hoạt động. Chỉ cần cẩn thận rằng trích dẫn đơn đầu tiên cho mỗi chuỗi là một backtick (`) trong tệp sendmail.mc.

#Change to your mail config directory:
cd /etc/mail

#Make a auth subdirectory
mkdir auth
chmod 700 auth  #maybe not, because I cannot apply cmd "cd auth" if I do so.

#Create a file with your auth information to the smtp server
cd auth
touch client-info

#In the file, put the following, matching up to your smtp server:
AuthInfo:your.isp.net "U:root" "I:user" "P:password"

#Generate the Authentication database, make both files readable only by root
makemap hash client-info < client-info
chmod 600 client-info
cd ..

#Add the following lines to sendmail.mc. Make sure you update your smtp server
#The first single quote for each string should be changed to a backtick (`) like this:
define(`SMART_HOST',`your.isp.net')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
FEATURE(`authinfo',`hash /etc/mail/auth/client-info')dnl

#run 
sudo sendmailconfig

Tôi vẫn gặp vấn đề để hiểu dòng AuthInfo ... Bạn có thể vui lòng cho một ví dụ không ... ???
Atul Dravid - Trắng Pvt. Ltd.

Ví dụ: thông tin khách hàng của tôi chỉ có một dòng,AuthInfo:smtp.gmail.com "U:username" "P:password"
flyrain

Vẫn với tất cả các cài đặt đó và AuthInfo tôi rơi vào danh sách SPAM bằng smtp.gmail.com với tài khoản hiện có từ google.admin AuthInfo: smtp.gmail.com "U: root" "I: name@domain.com" "P: mật khẩu "cũng đã thử AuthInfo: smtp-relay.gmail.com" U: root "" I: name@domain.com "" P: password "
xoxn-- 1'w3k4n

Để làm rõ:AuthInfo: smtp.gmail.com "U:yourusername@gmail.com" "P:yourpassword"
Mendes
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.