Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Internet a sítě => Téma založeno: pavell86@gmail.com 01 Září 2022, 08:10:46

Název: ubuntu a exchange smtp
Přispěvatel: pavell86@gmail.com 01 Září 2022, 08:10:46
Dobrý den,
v rámci interní sítě máme server s ubuntu. Na tomto serveru je PHP a chtěli jsme prostřednictvím phpmailer odesílát přes smtp e-mail. Smtp běží pouze v interní síti na exchange serveru (win server 2012 R2) - Exchange Server 2013. Při pokusu odeslat e-mail se zobrazí chyba uvedená v příloze. Na úrovni phpmaileru jsem ještě zkusil upravit šifrování (viz příloha), ale to nepomohlo, navic se celý skript pro odeslání zasekl a nevypsal se ani debug.

Mohl by mi prosím někdo poradit, kde by mohl být problém. Na jiném linuxovém serveru mi odeslání přes smtp v pořádku funguje.

Děkuji
Název: Re:ubuntu a exchange smtp
Přispěvatel: ramael 04 Září 2022, 19:16:45
Už dlouho (min 15 let) jsem v PHP nic nedělal a ani to nemám v plánu. Avšak mě zaujala konstrukce Tvé úpravy (jestli jsem to dobře pochopil).
Do proměnné $crypto_method nastavíš hodnotu statické proměnné STREAM_CRYPTO_METHOD_TLS_CLIENT
Avšak vzápětí uděláš test jestli je definována jiná statická STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT
A pokud je definována vložíš do $crypto_method úplně něco jiného než testovaná či ještě předtím už vložená.
Nemělo by to být třeba takto?:
Kód: [Vybrat]
...
     return false;
}


$crypto_method = (defined('STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT')?STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT:STREAM_CRYPTO_METHOD_TLS_CLIENT);

Jinak řečeno pokud je definována ..TLSv1_2.. ulož do $crypto_method ...TLSv1_0.. jinak tam ulož "čisté" ...TLS...
Zbytek kódu jsem neviděl. O tom jestli jsou ty hodnoty platné nebudu špekulovat. Osobně bych ten hook kvůli verzi řešil pomocí phpversion() protože s další verzí můžou přijít další nekompatibilní statické ap.