2016-03-24 48 views
1

, liman 25. Bir kullanıcı adı/şifre kullanamazsınız bir TLS bağlantısı kurmaya.PHPMailer ve anonim TLS bağlantıları

sunucusu yanıt verir:

STARTTLS-komuta PHPMailer tarafından gönderilen
250-SIZE 
             250-PIPELINING 
             250-DSN 
             250-ENHANCEDSTATUSCODES 
             250-XXXXXXXA 
             250-XXXXXXXXXXXXXB 
             250-AUTH NTLM 
             250-XXXXXXXXXXXXXXXXXC 
             250-8BITMIME 
             250-BINARYMIME 
             250-XXXXXXXD 
             250-XXXXXXE 
             250-XXXXF 
             250 XXXXXXG 

, sunucu yanıt verir:

CLIENT -> SERVER: STARTTLS 
SERVER -> CLIENT: 500 5.3.3 Unrecognized command 
SMTP ERROR: STARTTLS command failed: 500 5.3.3 Unrecognized command 
Yani

görünüşte anonim TLS tarafından sunulmaz sunucusu. Garip şey Telnet üzerinden sunucuya bağlanmak eğer, işe yarıyor vardır.

bu phpmailer-sorun mu? Veya sadece sunucunun bazı tuhaf davranışları ???

cevap

2

o STARTTLS reklamını etmezse o zaman işe düşüktür - Eğer telnet ile aynı sunucuya bağlanırken emin misin? bunu manuel olarak test etmek isterseniz Telnet yerine openssl s_client komutu kullanmalısınız,

var_dump($mail->getSMTPInstance()->getServerExtList()); 

:

openssl s_client -connect mail.example.com:25 -starttls smtp 
O gönderdikten sonra PHPMailer bu arayarak gördüğü bir sunucu özellikleri dizisini almak mümkündür eğer çalışırsa, size daha fazla teknik ayrıntıları gösterecektir

.

PHPMailer yine de fırsatçı TLS yapar - sunucunun STARTTLS'yi tanıdığını görürse, SMTPSecure = true'u ayarlamamış olsanız bile şifrelemeyi otomatik olarak etkinleştirir. Cevabınız için

+0

teşekkürler. Telnet üzerinden bağlandığım sunucu, phpmailer ile kullandığım ile aynı olmalıdır. Yine de, size önerildiği gibi openssl kullandığımda, bir sertifika problemi olduğunu öğrendim. Sertifika bağlandığımdan farklı bir sunucu için verilmiş (farklı şekilde iletilmiş olmasına rağmen). Bunu şimdi çözmeye çalışıyorum ve umarım bundan sonra çalışır. – Swissdude