ฉันมีการตั้งค่า Postfix / Dovecot / Roundcube ที่ฉันใช้เป็นการส่วนตัวรวมถึงมอบให้กับผู้ใช้รายอื่น ฉันพยายามถ่ายโอนการตั้งค่าทั้งหมดนี้ไปยังกล่องใหม่ แต่มีปัญหา
การรับจดหมายทำงานได้ดี (ผ่านการทดสอบภายในเท่านั้นโดเมนยังไม่ถูกถ่ายโอน) รวมถึง IMAP และ SMTP ภายนอกทำงานได้ดีโดยใช้ TLS / SSL (เช่น Thunderbird เป็นต้น)
ปัญหาคือการตั้งค่า roundcube ของฉันซึ่งสามารถใช้ IMAP ถึง 127.0.0.1 และแสดงอีเมลของผู้ใช้อย่างน่าอัศจรรย์ แต่ไม่สามารถส่งอีเมลได้เพียงแค่อ้างสิทธิ์: "SMTP Error (220): Authentication failed."
อย่างแปลกประหลาดด้วยการกำหนดค่า Postfix / Dovecot เดียวกับที่ฉันใช้บนเซิร์ฟเวอร์ปัจจุบันของฉัน Roundcube ไม่สามารถเข้าถึงบนเซิร์ฟเวอร์ใหม่ของฉันได้อีกต่อไป นี่คือการกำหนดค่า roundcube ที่เกี่ยวข้อง:
$config['smtp_server'] = 'tls://localhost';
// Log SMTP conversation to <log_dir>/smtp or to syslog
$config['smtp_debug'] = true;
// SMTP port (default is 25; use 587 for STARTTLS or 465 for the
// deprecated SSL over SMTP (aka SMTPS))
$config['smtp_port'] = 587;
// SMTP username (if required) if you use %u as the username Roundcube
// will use the current username for login
$config['smtp_user'] = '%u';
// SMTP password (if required) if you use %p as the password Roundcube
// will use the current user's password for login
$config['smtp_pass'] = '%p';
บันทึก / ข้อผิดพลาดของ Roundcube เพียงแค่พูดว่า:
[02-Jan-2015 16:55:49 America/New_York] STARTTLS failed ():
[02-Jan-2015 16:55:49 -0500]: SMTP Error: SMTP error: Authentication failure: STARTTLS failed (Code: ) in /var/wwwmail/program/lib/Roundcube/rcube.php on line 1505 (POST /?_task=mail&_unlock=loading1420235752730&_lang=undefined&_framed=1?_task=mail&_action=send)
ในขณะที่บันทึกของ Roundcube / บันทึก smtp แสดง:
[02-Jan-2015 17:50:01 -0500]: Recv: 220 example.net ESMTP Postfix
[02-Jan-2015 17:50:01 -0500]: Send: EHLO example.net
[02-Jan-2015 17:50:01 -0500]: Recv: 250-example.net
[02-Jan-2015 17:50:01 -0500]: Recv: 250-PIPELINING
[02-Jan-2015 17:50:01 -0500]: Recv: 250-SIZE 104857600
[02-Jan-2015 17:50:01 -0500]: Recv: 250-VRFY
[02-Jan-2015 17:50:01 -0500]: Recv: 250-ETRN
[02-Jan-2015 17:50:01 -0500]: Recv: 250-STARTTLS
[02-Jan-2015 17:50:01 -0500]: Recv: 250-ENHANCEDSTATUSCODES
[02-Jan-2015 17:50:01 -0500]: Recv: 250-8BITMIME
[02-Jan-2015 17:50:01 -0500]: Recv: 250 DSN
[02-Jan-2015 17:50:01 -0500]: Send: STARTTLS
[02-Jan-2015 17:50:01 -0500]: Recv: 220 2.0.0 Ready to start TLS
[02-Jan-2015 17:50:01 -0500]: Send: RSET
[02-Jan-2015 17:50:01 -0500]: Recv: M I A…"qhçR¸
[02-Jan-2015 17:50:01 -0500]: Send: QUIT
นี่คือตัวอย่างที่เกี่ยวข้องของการกำหนดค่า postfix ของฉันจาก /etc/postfix/main.cf
# TLS parameters for SMTP service
smtpd_tls_security_level = may
smtpd_tls_cert_file = /etc/ssl/private/example.net/example.net.crt
smtpd_tls_key_file = /etc/ssl/private/example.net/example.net.key
smtpd_tls_auth_only = yes
นี่คือตัวอย่างที่เกี่ยวข้องของการกำหนดค่า postfix ของฉันจาก /etc/postfix/master.cf
smtp inet n - - - - smtpd
-o content_filter=spamassassin
submission inet n - n - - smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o cleanup_service_name=cleanup_submit
smtps inet n - - - - smtpd
-o content_filter=spamassassin
-o syslog_name=postfix/smtps
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING
บันทึกของ Postfix จะ/var/log/mail.log
รายงานข้อผิดพลาดต่อไปนี้:
Jan 2 17:50:01 example postfix/submission/smtpd[19959]: connect from localhost.localdomain[127.0.0.1]
Jan 2 17:50:01 example postfix/submission/smtpd[19959]: SSL_accept error from localhost.localdomain[127.0.0.1]: 0
Jan 2 17:50:01 example postfix/submission/smtpd[19959]: warning: TLS library problem: error:14094418:SSL routines:SSL3_READ_BYTES:tlsv1 alert unknown ca:s3_pkt.c:1292:SSL alert number 48:
Jan 2 17:50:01 example postfix/submission/smtpd[19959]: lost connection after STARTTLS from localhost.localdomain[127.0.0.1]
Jan 2 17:50:01 example postfix/submission/smtpd[19959]: disconnect from localhost.localdomain[127.0.0.1]
ฉันได้อ่านคำถามอื่น ๆ ที่มีรหัสข้อผิดพลาดที่คล้ายกัน แต่พวกเขาทั้งหมดดูเหมือนว่าจะใช้ใบรับรองที่ลงนามด้วยตนเองหรือเพิ่มลิงก์ไปยังแฮชของใบรับรองจาก / etc / ssl / certs /ซึ่งฉันได้ลองแล้ว อาจพลาดและเชื่อมโยงใบรับรองที่ไม่ถูกต้อง
Roundcube ได้รับการอัปเดตเป็น 1.0.4 ซึ่งควรจะแก้ไขปัญหาการใช้งานร่วมกันไม่ได้ของ php เนื่องจาก openssl ฉันหมดความคิดไม่มีใครมีความคิดอะไรบ้าง