Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: ubuntu a exchange smtp  (Přečteno 5427 krát)

pavell86@gmail.com

  • Návštěvník
  • Příspěvků: 1
ubuntu a exchange smtp
« kdy: 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

ramael

  • Stálý člen
  • **
  • Příspěvků: 637
Re:ubuntu a exchange smtp
« Odpověď #1 kdy: 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.
Lenovo: ThinkPad X380 Yoga
Joutůůůůb

 

Provoz zaštiťuje spolek OpenAlt.