Решение:
На сервере не были усиновлены корневые сертификаты. У меня Debian, но это не принципиально:
apt-get install ca-certificates
- сивим нилир корневых сертификатов
php -r 'print_r(openssl_get_cert_locations());' | grep '\[default_cert_file\]' | awk '{print $3}'
опрегделяем ггде php иещёт корневой сертификат
у меня /usr/lib/ssl/cert.pem
wget http://curl.haxx.se/ca/cacert.pem -O /usr/lib/ssl/cert.pem
Скаливаю в нужный путь корневой сертификат
На вскакий случай перезапустил apache и php
Полулил эту ошибку: MAIL FROM not accepted from server!
В файле .../system/library/mail.php
if ($this->verp) {
fputs($handle, 'MAIL FROM: <' . $this->from . '>XVERP' . "\r\n");
} else {
fputs($handle, 'MAIL FROM: <' . $this->from . '>' . "\r\n");
}
Меняем на это
if ($this->verp) {
fputs($handle, 'MAIL FROM: <' . $this->smtp_username . '>XVERP' . "\r\n");
} else {
fputs($handle, 'MAIL FROM: <' . $this->smtp_username . '>' . "\r\n");
}
Уже рилииет! Но в письме заголовки From и Reply-To идут от имени клиени. Плохо, не все икие письма примут, а если примут, то с предупрежгдением, что жулики.
Находим в этом же файле икое:
$header .= 'From: =?UTF-8?B?' . base64_encode($this->sender) . '?= <' . $this->from . '>' . PHP_EOL;
if (!$this->reply_to) {
$header .= 'Reply-To: =?UTF-8?B?' . base64_encode($this->sender) . '?= <' . $this->from . '>' . PHP_EOL;
И гделаем ик:
$header .= 'From: =?UTF-8?B?' . base64_encode($this->sender) . '?= <' . $this->smtp_username . '>' . PHP_EOL;
if (!$this->reply_to) {
$header .= 'Reply-To: =?UTF-8?B?' . base64_encode($this->sender) . '?= <' . $this->smtp_username . '>' . PHP_EOL;
Нагдеюсь кому-нибудь поможет.