Пытаетесь отправить электронную почту, используя smtp, с ручной настройкой apache-server и php 7.2? - PullRequest
0 голосов
/ 30 апреля 2019

Я использую apache-сервер и php 7.2. То, что я пытаюсь сделать, это отправить электронную почту, используя библиотеку электронной почты в C.I. но я получаю ошибку, которая не в состоянии отладить. Будет полезна небольшая помощь. В gmail опция imap в настройках была включена. Вот мой код-

function emailverification()
    {
             $this->load->library('email');
        ini_set("SMTP","ssl://smtp.gmail.com");
                ini_set("smtp_port","465");
                $config['protocol'] = 'smtp';
        $config['smtp_host'] = 'ssl://smtp.gmail.com';
        $config['smtp_port'] = '465';
            $config['_smtp_auth']=TRUE;
            $config['smtp_user'] = '******';
            $config['smtp_pass'] = '******';
            $config['smtp_timeout'] = '60';
            $config['charset'] = 'utf-8';
            $config['wordwrap'] = TRUE;
            $config['mailtype'] = "html";
            $this->email->initialize($config);

             $this->email->from('******', 'Support Team');
            $this->email->to('*******');

            $this->email->subject('This is my subject');
            $this->email->message('This is the content of my message');

            if ( ! $this->email->send())
            {
                show_error($this->email->print_debugger());
            }
            else
            {
                echo('DONE');
            }

    }

Я также попытался изменить порты на 25, 587, и я также изменил хост на smtp.gmail.com. Это я постоянное сообщение об ошибке «Обнаружена следующая ошибка SMTP: Обнаружена следующая ошибка SMTP: Невозможно отправить письмо, используя PHP SMTP. Возможно, ваш сервер не настроен на отправку почты с использованием этого метода. '

Ниже приведен код, и браузер выдает мне следующий вывод при запуске метода. Хотя при редактировании портов и имени хоста «сервер не может отправлять почту, хотя PHPsmtp» постоянен.

220 smtp.gmail.com ESMTP c62sm82383961pfg.33 - gsmtp 

hello 250-smtp.gmail.com at your service, [43.252.26.109]
250-SIZE 35882577
250-8BITMIME
250-AUTH LOGIN PLAIN XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER XOAUTH
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250 SMTPUTF8
from: 250 2.1.0 OK c62sm82383961pfg.33 - gsmtp
to: 250 2.1.5 OK c62sm82383961pfg.33 - gsmtp
data: 354  Go ahead c62sm82383961pfg.33 - gsmtp

quit: 
The following SMTP error was encountered: 
The following SMTP error was encountered: 
Unable to send email using PHP SMTP. Your server might not be configured to send mail using this method.
Date: Tue, 30 Apr 2019 12:35:48 +0530
From: "Support Team" <********>
Return-Path: <*********>
To: **********
Subject: =?UTF-8?Q?This=20is=20my=20subject?=
Reply-To: <*********>
User-Agent: CodeIgniter
X-Sender: ********
X-Mailer: CodeIgniter
X-Priority: 3 (Normal)
Message-ID: <5cc7f3ccb9ee7@*****.com>
Mime-Version: 1.0


Content-Type: multipart/alternative; boundary="B_ALT_5cc7f3ccba2cf"

This is a multi-part message in MIME format.
Your email application may not support this format.

--B_ALT_5cc7f3ccba2cf
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This is the content of my message


--B_ALT_5cc7f3ccba2cf
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

This is the content of my message

--B_ALT_5cc7f3ccba2cf--

Примечание:

Я хочу понять, что машина пытается сказать мне здесь, потому что я новичок в этом. И будет очень полезно, если кто-нибудь может помочь мне решить эту ошибку. Я работал над этим в течение прошлой недели, которую я не могу устранить.

220 smtp.gmail.com ESMTP c62sm82383961pfg.33 - gsmtp 

hello: 250-smtp.gmail.com at your service, [43.252.26.109]
250-SIZE 35882577
250-8BITMIME
250-AUTH LOGIN PLAIN XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER XOAUTH
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250 SMTPUTF8
from: 250 2.1.0 OK c62sm82383961pfg.33 - gsmtp
to: 250 2.1.5 OK c62sm82383961pfg.33 - gsmtp
data: 354  Go ahead c62sm82383961pfg.33 - gsmtp

P.S. Не понижайте голос, потому что я очень стараюсь набрать немного очков.

1 Ответ

0 голосов
/ 21 мая 2019

Решение 1: попробуйте добавить

$this->email->set_newline("\r\n");

после

$this->email->from('******', 'Support Team');

Решение 2. В вашем конфигурационном файле электронной почты измените это

$config['crlf']     = '\r\n';
$config['newline']  = '\r\n';

к этому

$config['crlf']     = "\r\n";
$config['newline']  = "\r\n";

Решение 3 (но не думаю, что оно вам поможет): Когда у меня возникла та же проблема, ни одно из приведенных выше решений не помогло мне ее решить. Каким-то образом я исправил это, ограничив количество символов в теме (после нескольких часов отладки я обнаружил, что он вылетает только тогда, когда тема превышает 119 символов)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...