Cách chuyển tiếp thư qua tài khoản Google bằng Postfix


9

Tôi muốn chuyển tiếp email không cục bộ qua tài khoản Google cá nhân và địa phương để gửi cho người dùng cục bộ. Cấu hình của tôi là: / etc / postfix / Transport

*            smtp:[smtp.gmail.com]:587

và /etc/postfix/main.cf

[root@media postfix]# cat main.cf
# This file contains only the parameters changed from a default install
# see /etc/postfix/main.cf.dist for a commented, fuller version of this file.
transport_maps = hash:/etc/postfix/transport
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_mechanism_filter = plain, login
smtp_sasl_security_options = noanonymous
smtp_use_tls = yes

/ etc / postfix / sasl_passwd:

[smtp.google.com]:587    myuser@gmail.com:mypass

Và sau khi tôi chạy:

# postmap transport && postmap sasl_passwd
systemctl restart postfix.service

Vì vậy, bây giờ máy chủ của tôi cố gắng kết nối với gmail MX (không thành công nhưng không gửi email cục bộ

Nhật ký từ tạp chí:

    Jul 06 18:38:01 media postfix/pickup[31431]: 30714960F8: uid=0 from=<root>
    Jul 06 18:38:01 media postfix/cleanup[31641]: 30714960F8: message- id=<20130706163801.30714960F8@media.localdomain>
    Jul 06 18:38:01 media postfix/qmgr[31432]: 30714960F8: from=<root@media.localdomain>, size=436, nrcpt=1 (queue active)
    Jul 06 18:38:01 media postfix/smtp[31643]: connect to smtp.gmail.com[2a00:1450:4008:c01::6c]:587: Network is unreachable
   Jul 06 18:38:01 media postfix/smtp[31643]: 30714960F8: to=<mackowiakp23@gmail.com>, relay=smtp.gmail.com[173.194.69.108]:587, delay=0.7, delays=0.03/0.04/0.55/0.07, ...M command))
    Jul 06 18:38:02 media postfix/cleanup[31641]: 0B85D960F9: message-id=<20130706163802.0B85D960F9@media.localdomain>
    Jul 06 18:38:02 media postfix/qmgr[31432]: 0B85D960F9: from=<>, size=2555, nrcpt=1 (queue active)
    Jul 06 18:38:02 media postfix/bounce[31646]: 30714960F8: sender non-delivery notification: 0B85D960F9
    Jul 06 18:38:02 media postfix/qmgr[31432]: 30714960F8: removed
    Jul 06 18:38:02 media postfix/smtp[31643]: connect to smtp.gmail.com[2a00:1450:4008:c01::6d]:587: Network is unreachable
    Jul 06 18:38:02 media postfix/smtp[31643]: 0B85D960F9: to=<root@media.localdomain>, relay=smtp.gmail.com[173.194.69.109]:587, delay=0.59, delays=0.02/0.01/0.51/0.06,...M command))
    Jul 06 18:38:02 media postfix/qmgr[31432]: 0B85D960F9: removed
    Jul 06 18:38:40 media auth[31778]: pam_tcb(dovecot:auth): Authentication passed for media from (uid=0)
    Jul 06 18:38:40 media dovecot[1442]: pop3-login: Login: user=<media>, method=PLAIN, rip=192.168.0.2, lip=192.168.0.7, mpid=31779, secured, session=<VZaXcdrgpADAqAAC>
    Jul 06 18:38:40 media dovecot[1442]: pop3(media): Disconnected: Logged out top=0/0, retr=0/0, del=0/0, size=0
    Jul 06 18:38:58 media postfix/pickup[31431]: CD15D960F8: uid=0 from=<root>
    Jul 06 18:38:58 media postfix/cleanup[31641]: CD15D960F8: message-id=<20130706163858.CD15D960F8@media.localdomain>
    Jul 06 18:38:58 media postfix/qmgr[31432]: CD15D960F8: from=<root@media.localdomain>, size=430, nrcpt=1 (queue active)
    Jul 06 18:38:59 media postfix/smtp[31643]: CD15D960F8: to=<mackowiakp@op.pl>, relay=smtp.gmail.com[173.194.69.108]:587, delay=0.63, delays=0.02/0/0.54/0.06, dsn=5.5....M command))
    Jul 06 18:38:59 media postfix/cleanup[31641]: BAB0E960F9: message-id=<20130706163859.BAB0E960F9@media.localdomain>
    Jul 06 18:38:59 media postfix/qmgr[31432]: BAB0E960F9: from=<>, size=2541, nrcpt=1 (queue active)
    Jul 06 18:38:59 media postfix/bounce[31646]: CD15D960F8: sender non-delivery notification: BAB0E960F9
    Jul 06 18:38:59 media postfix/qmgr[31432]: CD15D960F8: removed
Jul 06 18:39:00 media postfix/smtp[31643]: BAB0E960F9: to=<root@media.localdomain>, relay=smtp.gmail.com[173.194.69.109]:587, delay=0.66, delays=0.02/0.01/0.56/0.07,...M command))
    Jul 06 18:39:00 media postfix/qmgr[31432]: BAB0E960F9: removed

Bất kỳ trợ giúp để làm cho nó hoạt động?


Đó có phải là dấu hoa thị thực sự trong / etc / postfix / Transport của bạn không, hay nó chỉ là thứ gì đó vô tình được thêm vào câu hỏi của bạn?
một CVn

Câu trả lời:


5

Bạn phải kích hoạt TLSứng dụng khách SMTP của Postfix, vì Google yêu cầu nó. Điều này được chỉ định bởi họ trong tin nhắn Must issue a STARTTLS command.

Trong /etc/postfix/main.cf, bạn muốn một cái gì đó như thế này:

smtp_tls_policy_maps = hash:/etc/postfix/tls_policy

và sau đó trong /etc/postfix/tls_policy:

[smtp.gmail.com]:587 encrypt

Phía bên trái trong tls_policyphải xuất hiện chính xác giống như mục chuyển tiếp của bạn trong main.cf.

Nhớ chạy postmaptiếp /etc/postfix/tls_policysau khi tạo hoặc thay đổi nó theo yêu cầu.

Bạn có thể tìm thêm chi tiết trong tài liệu TLS của Postfix.

Tham khảo các liên kết này

http://blog.bigdinosaur.org/postfix-gmail-and-you/

http://www.postfix.org/TLS_README.html#client_tls


2

Đây là thủ tục tôi sử dụng cho việc này:

sudo apt-get install postfix.

Nếu nó hỏi bạn đã cài đặt loại máy chủ thư nào, hãy chọn không có cấu hình (tùy chọn đầu tiên)

sudo nano /etc/postfix/main.cf

và dán cái này vào

# See /usr/share/postfix/main.cf.dist for a commented, more complete version

# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname
# listen on localhost only
inet_interfaces = 127.0.0.1

smtpd_banner = $myhostname ESMTP $mail_name

biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

#Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

relayhost = [smtp.gmail.com]:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous

Lưu tệp, Bây giờ chúng tôi tạo tệp với tên người dùng và mật khẩu trong

sudo nano /etc/postfix/sasl_passwd

và dán vào sau đây thực hiện các thay thế cần thiết

[smtp.gmail.com]:587    user.name@gmail.com:password

Lưu nó và tại dấu nhắc lệnh

sudo postmap /etc/postfix/sasl_passwd

Sau đó

chmod 600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db

Cuối cùng,

sudo service postfix restart

Lưu ý rằng một khi bạn đã kiểm tra thành công hệ thống email, bạn có thể xóa / làm xáo trộn mật khẩu trong sasl_passwd.

Kiểm tra nó với ứng dụng của bạn. Nếu bạn gặp sự cố, hãy kiểm tra /var/log/mail.log Bạn có thể cài đặt apt-utils để cài đặt chương trình thư. sau đó bạn có thể kiểm tra với

echo “this is a test” | mailx -s “This is the subject” destination@example.com

Cuối cùng

Chạy

newaliases

để tạo một tập tin /etc/aliases.db. Nếu bạn không đăng nhập, nó sẽ ghi rất nhiều lỗi về nó /var/log/mail.err Nếu bạn gặp lỗi SASL (postfix) Kiểm tra tên máy chủ có trong / etc / hosts và / etc / hostname Nếu postfix phàn nàn về không có thể chuyển tiếp cho một địa chỉ máy chủ / ip nhất định (postfix) Thêm địa chỉ này vào /etc/postfix/main.cf

mynetworks = 10.0.0.0/8

Điều này sẽ cho phép bất cứ ai có địa chỉ 10.0.0.0 kết nối, rõ ràng bạn nên loại bỏ điều này càng nhiều càng tốt, bằng cách hạn chế mạng và / hoặc sử dụng bất kỳ chính sách tường lửa hoặc bảo mật nào có sẵn cho bạn


ĐỒNG Ý. CÁM ƠN. Nhưng những gì bạn sử dụng để tạo / lấy /etc/ssl/certs/Equachus_Secure_CA.pem chứng chỉ?
mackowiakp

Sai lầm của tôi, bạn không cần dòng đó. Tôi đã chỉnh sửa bài đăng ở trên để phản ánh điều này
GeoSword 16/07/13

Tôi đã nhận được thông tin: <test.user@domain.com>: máy chủ smtp.gmail.com [173.194,69.109] cho biết: 530-5.5.1 Yêu cầu xác thực. Tìm hiểu thêm tại 530 5.5.1 support.google.com/mail/ khác14257 fc7sm2465531bkc.3 - GSMtp (để trả lời lệnh MAIL TỪ) - vì vậy, trong cấu hình như vậy, MAIL TỪ phải được đưa vào định nghĩa chuyển tiếp . Tôi làm nó như thế nào?
mackowiakp

Ôi * & ^ * t! Trong / etc / postfix / sasl_passwd là [smtp.google.com]: 587 thay vì [smtp.gmail.com]: 587. Đôi khi rất khó để tìm ra lỗi đơn giản như vậy. CÁM ƠN! LÀM!
mackowiakp

1

Trước tiên, hãy đảm bảo kiểm tra phương thức xác thực đầu tiên của Google:

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

Nếu trang không có sẵn cho tài khoản của bạn, thì quản trị viên tên miền đã tắt cài đặt này cho tất cả người dùng (mặc định).

Khi bạn lập danh sách trắng IP / phạm vi của bạn trong Relay SMTP trong quản trị viên google, bạn có thể gửi email với cài đặt này

relayhost = [smtp-relay.gmail.com]:587
smtp_use_tls = yes
smtp_tls_loglevel=1
smtp_tls_security_level=encrypt
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_mechanism_filter = login, plain
smtp_tls_CApath = /etc/ssl/certs
smtp_sasl_tls_security_options = noanonymous

Tuy nhiên, khi Allow less secure apps: OFFtôi luôn nhận được những tin nhắn này:

(SASL authentication failed; server smtp-relay.gmail.com[173.194.204.28] said: 534-5.7.14
... Please log in via your web browser and?534-5.7.14 then try again.?534-5.7.14
Learn more at?534 5.7.14  https://support.google.com/mail/answer/78754 g133sm1077601qkb.1 - gsmtp)

nhưng tin nhắn vẫn được gửi (hơi lạ), mặc dù phải mất một chút thời gian để nhận được tin nhắn đến người nhận.

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.