Làm cách nào để tạo email cron cho tài khoản @gmail của tôi


40

Tôi có một vài công việc cron đôi khi tạo ra lỗi đầu ra và muốn nhận thông báo trong tài khoản email "thực" của mình, vì tôi không sử dụng hộp thư người dùng của mình trong máy tính xách tay Ubuntu, nhưng có thể là cron (hoặc có thể là hậu tố) tiếp tục cố gắng gửi email tài khoản root địa phương.

Tôi biết tôi có thể thêm biến MAILTO vào crontab:

ricardo@ricardo-laptop:~$ sudo crontab -l
MAILTO=redacted@gmail.com
# m h  dom mon dow   command
*/5 * * * * /home/ricardo/mrtg/cfg/run.sh

Nhưng nó dường như không chú ý đến nó

Tôi cũng đã thử thêm email của mình vào /etc/aliasestập tin và chạynewaliases

ricardo@ricardo-laptop:~$ cat /etc/aliases
# See man 5 aliases for format
postmaster:    root
root:          redacted@gmail.com
ricardo:       redacted@gmail.com

Tuy nhiên, bất cứ khi nào cron muốn gửi email, nó vẫn gửi nó tới root@my.domain.com:

ricardo@ricardo-laptop:/var/log$ tail mail.log
Aug  3 16:25:01 ricardo-laptop postfix/pickup[2002]: D985B310: uid=0 from=<root>
Aug  3 16:25:01 ricardo-laptop postfix/cleanup[4117]: D985B310: message-id=<20100803192501.D985B310@ricardo-laptop>
Aug  3 16:25:01 ricardo-laptop postfix/qmgr[2003]: D985B310: from=<root@144-68-247-190.fibertel.com.ar>, size=762, nrcpt=1 (queue active)
Aug  3 16:25:03 ricardo-laptop postfix/smtp[4120]: D985B310: to=<root@144-68-247-190.fibertel.com.ar>, orig_to=<root>, relay=smtp.gmail.com[74.125.157.109]:25, delay=1.5, delays=0.38/0.02/0.9/0.18, dsn=5.7.0, status=bounced (host smtp.gmail.com[74.125.157.109] said: 530 5.7.0 Must issue a STARTTLS command first. d1sm12275173anc.19 (in reply to MAIL FROM command))

Bất kỳ đề xuất? Tôi đang chạy Ubuntu 10.04, với mọi thứ cập nhật

Câu trả lời:


20

Có vẻ như bạn đã cấu hình smtp.gmail.com làm smarthost của mình cho máy chủ thư. Bạn cần xóa cấu hình smarthost hoặc chỉnh sửa nó để máy chủ của bạn hoàn toàn có khả năng gửi thư ra thế giới bên ngoài.

Cấu hình bạn có bây giờ cho chuyển tiếp thư dường như đang hoạt động, nhưng không thành công vì smtp.gmail.com đang từ chối thư.

Cập nhật : Để tham khảo trong tương lai, vấn đề là trong /etc/mailnameđó liệt kê một tên không có trong mydestinationsdanh sách hậu tố. Điều này khiến tất cả các thư được coi là nước ngoài và thư bị bỏ qua /etc/aliasesxử lý.


Hiện tại tôi đang bỏ qua lỗi TLS và tập trung vào thực tế là dòng cuối cùng trong mail.log nói: postfix / smtp [4120]: D985B310: to = <root@144-68-247-190.fibertel.com .ar> vì vậy cron vẫn đang cố gắng gửi email cho tài khoản root của tôi thay vì tài khoản gmail của tôi. Tôi sợ rằng việc để lại phản hồi của gmail trong câu hỏi sẽ gây nhầm lẫn, nhưng tôi không muốn thay đổi quá nhiều vì vậy tôi không mất giá trị thông tin. Bây giờ tôi sẽ cố gắng sửa lỗi TLS, nhưng tôi tin rằng nó không liên quan gì đến vấn đề đích sai
Ricardo Reyes

Bạn có thể bao gồm main.cf của bạn cho postfix. Tôi nghi ngờ rằng trường hợp postfix của bạn nghĩ rằng thư không phải là cục bộ để bắt đầu, chỉ có thư cục bộ bị ảnh hưởng bởi tệp bí danh
Ressu

Đây là postfix.cfg: cl1p.net/postfix Tôi đã thử xóa tùy chọn smarthost, nhưng nó chỉ thay đổi thông báo lỗi của Gmail, vì ip của tôi không giải quyết chính xác. Hãy nhớ rằng đây không phải là máy chủ, nó chỉ là máy tính xách tay cá nhân của tôi và email duy nhất tôi cần gửi là thông báo cron, đến tài khoản gmail của riêng tôi. Cảm ơn.
Ricardo Reyes

1
Hmm .. tên / etc / mail của bạn có tên máy chủ của bạn trong đó không? vì một số lý do, postfix dường như nghĩ rằng nó được gọi là 144-68-247-190.fibertel.com.ar thay vì ricardo-laptop. Ngoài ra, hostnamelệnh nói gì?
Ressu

Postfix cần được cấu hình như một máy chủ mail đầy đủ, không phải là một vệ tinh cho gmail. Nếu không, sẽ có vấn đề xác thực vì người gửi không phải là người dùng cho gmail.
txwikinger

1

Giải pháp trích xuất từ ​​câu hỏi

(cảm ơn Ressu )

Vấn đề là với tập tin /etc/mailname

Tệp này được tạo bởi trình cài đặt Ubuntu và chứa tên máy chủ sai. Khi tôi thay đổi nó để phù hợp với hậu tố "ricardo-laptop", nhận ra rằng các email được dành cho việc gửi cục bộ và bắt đầu theo các bí danh


0

nghĩ rằng tôi sẽ thêm vào cho những người khám phá điều này như tôi đã làm. Một cách khác dễ dàng nếu bạn muốn tất cả thư từ tài khoản gốc của mình là chạy lệnh này:

sudo nano ~ / .forward

Sau đó, bạn có thể đặt một email hoặc tách nhiều email bằng dấu phẩy. Điều này sẽ chuyển tiếp tất cả các email gốc của bạn (giả sử bạn đang sử dụng root) đến địa chỉ email trong tệp này.

Khi bạn đã thêm email, nhấn Ctrl + X rồi Y để lưu các thay đổi.


Điều này đặt một tập tin trong nhà của người dùng của tôi, không phải root?
endolith

@endolith: Đúng. Bạn có thể muốn sudo nan ~root/.forwardthay thế.
Flimm

1
nhưng bạn đang sử dụng sudo để tạo một tập tin trong nhà của người dùng?
endolith
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.