Làm thế nào để gửi e-mail từ máy chủ Ubuntu?


13

Những gì tôi phải làm là gửi email từ Ubuntu. Cách dễ nhất tôi đã tìm thấy là sử dụng Thunderbird và liên kết địa chỉ email thực của tôi (abc@hotmail.com) với tài khoản Thunderbird. Tôi có thể nhận thành công e-mail và tải xuống toàn bộ lịch sử theo cách này. Tôi không thể gửi e-mail, tuy nhiên.

Những gì tôi muốn làm là gửi e-mail trực tiếp từ Ubuntu và xuất hiện dưới dạng user1 @ localhost hoặc một cái gì đó tương tự.

Điều đó thậm chí có thể? Sau khi đọc các chủ đề khác nhau về điều này, có vẻ như sử dụng địa chỉ chuyển tiếp là cách duy nhất.

Tôi cũng đã cài đặt Postfix, giống như cách viết ở đó: Làm cách nào để thiết lập máy chủ thư? Khi tôi được yêu cầu chọn loại cài đặt, tôi đã chọn trang Internet.

Tùy chọn tôi có:

  • Không có cấu hình;
  • Trang web Internet;
  • Internet với smarthost;
  • Hệ thống vệ tinh;
  • Chỉ địa phương;

Khi được hỏi tên hệ thống thư, tôi đã nhập một trang web mà tôi sở hữu: some_website.com. Tôi vẫn chưa tìm ra cách gửi email hậu tố bia nhưng tôi cho rằng một lần nữa máy chủ chuyển tiếp sẽ được sử dụng.

Tôi đang chạy Ubuntu 11.10 như một máy ảo.

Tôi hy vọng câu hỏi này có ý nghĩa.

Câu trả lời:


13

Nó không có ý nghĩa hoàn hảo bởi vì bạn đã nói, "phải làm", như thể đó là công việc của bạn. Bạn đang thiết lập một máy chủ thư thực trong một máy ảo? Tôi lấy manh mối để nói rằng bạn cần máy chủ ảo để có hệ thống thư, nhưng máy chủ ảo không phải là máy chủ SMTP "thực" toàn thời gian. (Nếu không bạn sẽ biết, tôi đoán dữ dội.)

Với ý nghĩ đó, bạn sẽ cần tùy chọn "Internet với smarthost". Về cơ bản, lý do lớn là các máy chủ SMTP được cấu hình tốt trên toàn thế giới đều sử dụng các biện pháp chống thư rác; và, trong số các biện pháp này là từ chối tất cả các kết nối SMTP đến từ các nhóm địa chỉ động đã biết (mà những kẻ gửi thư rác thích sử dụng). Do đó, bạn cần sử dụng một máy chủ SMTP khác cho thư đi.

Nếu bạn muốn gắn bó với Postfix cho việc này, thật dễ dàng: chỉ cần tìm kiếm các bài viết Ubuntu liên quan đến việc thiết lập Postfix như một smarthost. Tuy nhiên, nếu bạn không có mối quan hệ đặc biệt với một hệ thống khác, thì có một gói được thiết kế chỉ dành cho việc này : ssmtp. Vì vậy, nếu bạn muốn cho nó một spin, thì chỉ cần cài đặt ssmtp.

( Chú ý: hành động bên dưới sẽ xóa postfix hoặc sendmail. )

sudo apt-get install ssmtp

Sau đó chỉnh sửa tệp cấu hình ssmtp:

sudo -e /etc/ssmtp/ssmtp.conf

Tôi không biết chi tiết về máy chủ SMTP có sẵn cho bạn, vì vậy tôi sẽ đưa ra một ví dụ về Gmail:

Root=your_email@gmail.com
Mailhub=smtp.gmail.com:465
RewriteDomain=gmail.com
AuthUser=your_gmail_username # me@gmail.com
AuthPass=your_gmail_password
FromLineOverride=Yes
UseTLS=Yes

Bây giờ hệ thống của bạn sẽ gửi thư theo cách bạn muốn. Bạn có thể sử dụng localhost làm máy chủ thư trong các ứng dụng GUI của mình cho máy chủ SMTP đi. Nhưng còn CLI thì sao? Sử dụng mailphần mềm:

sudo apt-get install heirloom-mailx

Bây giờ bạn cũng có thể sử dụng thư từ dòng lệnh với nội dung như:

mail < filename.ascii someone@somewhere.com -s "My File"

Hoặc, nếu bạn sử dụng mailđể soạn thư bạn nhập ( mail someone@somewhere.com), sau đó kết thúc thư trong một khoảng thời gian trên một dòng trống. Một ứng dụng thư CLI tốt hơn là mutthoặc pine.

Đây có phải là góc bạn cần? Nếu vậy, nó đã thành công?


1
Mutt nói "sendmail: Không thể mở: 25" khi tôi cố gắng gửi e-mail. ssmtp nói "ssmtp: không thể mở: 25" Tôi cũng nói rằng tôi có thể gửi e-mail qua Thunderbird, nhưng tôi nghĩ rằng tôi đã sai. Xin lỗi vì điều đó. Tôi đã hết thời gian khi gửi cố gắng gửi e-mail qua Thunderbird và tin nhắn về cổng 25 khi sử dụng ứng dụng thư CLI.
afaf12

@ afaf12 kiểm tra xem tường lửa có chặn không. Lỗi hết thời gian kết nối chủ yếu xảy ra do sự cố tường lửa.
Mughil

1
Có phải máy chủ thư từ xa hạn chế quyền truy cập vào phạm vi địa chỉ nhất định, theo cấu hình hoặc tường lửa?

Bạn có cần sử dụng trên máy chủ thư từ xa này cổng gửi: 465 không?

Tôi không thể làm sudo /etc/init.d/ssmtp restartviệc trên máy của mình.
Nam G VU

1

Nếu bạn đang sử dụng Thunderbird, bạn có thể định cấu hình máy chủ từ xa cho SMTP. Trừ khi bạn có máy chủ thư của riêng mình, thông thường đây sẽ là máy chủ chuyển tiếp của ISP hoặc máy chủ SMTP của nhà cung cấp thư của bạn. Tôi đã sử dụng thành công Gmail làm máy chủ SMTP của mình nhưng yêu cầu xác thực. (Một số máy chủ khác cũng có thể.)

Kiểm tra truy cập vào máy chủ bằng lệnh telnet mail.example.com 25. Nếu nó hoạt động, bạn sẽ nhận được một thông điệp banner từ máy chủ.

Khi bạn có Thunderbird làm việc với máy chủ, bạn có thể định cấu hình Exim hoặc Postfix làm máy chủ vệ tinh cho cùng một máy chủ. Bạn có thể bỏ qua điều này nếu bạn không cần gửi email ra khỏi hệ thống từ các ứng dụng khác. Hãy cẩn thận, rằng địa chỉ nguồn trên máy chủ gửi đi có thể chấp nhận email.

EDIT: Kiểm tra xem bạn không kích hoạt iptables và chặn lưu lượng đi. Nếu bạn làm như vậy, kích hoạt lưu lượng đi trên cổng mong muốn của bạn. Bạn có thể sử dụng một lệnh như tcptraceroute mail.example.com 25để xem nơi bạn đang bị chặn. tcptraceroutesẽ cần phải được cài đặt trước khi bạn sử dụng nó.


Telnet: Không thể kết nối với máy chủ từ xa: hết thời gian kết nối. Tôi chắc chắn rằng máy chủ từ xa có thể chấp nhận thư trên cổng 25. Tôi có thành công gửi email đến máy chủ từ xa này từ máy khác (windows 7).
afaf12

0

Tôi đã thử nghiệm điều này trên một hộp mơ hồ và hoạt động hoàn hảo. Cài đặt những thứ sau bằng cách chạy lệnh

apt-get cài đặt php-lê

lê cài đặt thư

lê cài đặt Net_SMTP

lê cài đặt Auth_SASL

lê cài đặt mail_mime

Sau đó cài đặt postfix bằng cách chạy lệnh sau

apt-get cài đặt postfix

trong khi cài đặt Chọn--

Trang web Internet và localhost thay cho máy chủ vì chúng tôi đã thử điều này trên localhost

Sau này chạy lệnh sau

sudo vim /etc/ssmtp/ssmtp.conf

để thay đổi tập tin

thực hiện thay đổi thành tập tin ssmtp.conf

FromLineOverride = CÓ

AuthUser=youremail @ gmail

AuthPass = lượt của bạn

quan trọng nhất làm cho email của bạn có thể truy cập vào các ứng dụng kém an toàn hơn bằng cách

https://www.google.com.vn/sinstall/security/lesssecur xuất hiện lại

và sau đó bạn có thể sử dụng chức năng thư php hoặc nhập lệnh sau trong thiết bị đầu cuối để gửi thư từ chính thiết bị đầu cuối

$ ssmtp youremail @ gmail

Từ: youremail @ gmail

ĐẾN: sendto@email.com

Chủ đề: Chủ đề

Xin chào, đây là email ssmtp đầu tiên của tôi!.

nhấn Ctrl + D và ssmtp sẽ gửi email của bạn

Bạn cũng có thể kiểm tra smtp có hoạt động hay không từ máy của bạn

ping smtp.gmail.com

--output từ lệnh này là một cái gì đó như

64 byte từ sc-in-f108.1e100.net (74.125,68.108): icmp_seq = 1 ttl = 63 time = 68,4 ms

telnet smtp.gmail.com 587

--output phải là một cái gì đó như thế này

Đang thử 74.125,68.108 ...

Đã kết nối với gmail-smtp-msa.l.google.com.

220 smtp.gmail.com ESMTP l14sm12513264pfb.73 - GSMtp

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.