Отправить письмо с Gmail не работает | CodeIgniter - PullRequest
0 голосов
/ 06 ноября 2018

это мой код для отправки электронной почты с помощью gmail, но он не работает, я стараюсь, чтобы он работал в течение 4 дней, но все еще не работает.

, пожалуйста, помогите мне, это было работать до 6 дня, после этого не работает, сервер сказал мне, чтобы изменить PHPMailer на SMTP Gmail, я изменился, но все еще не работает ...

Я зарегистрирован в электронной почте Amazon SES, но я не знаю, как его использовать, поэтому у меня есть 2 варианта: сделать это на моем обычном сервере или перейти на Amazon SES, если у SES больше шансов научить меня, как использовать Это .

мой сайт для проверки

мой контроллер

 public function Send_Single_Email_Try ()
 {

 $email_config = Array(
        'protocol'  => 'smtp',
        'smtp_host' => 'ssl://smtp.googlemail.com',
        'smtp_port' => '465',
        'smtp_user' => 'xx@gmail.com',
        'smtp_pass' => 'xx',
        'mailtype'  => 'html',
        'starttls'  => true,
        'newline'   => "\r\n"
    );

    $this->load->library('email', $email_config);
    $this->email->from('someuser@gmail.com', 'invoice');
    $this->email->to('test@test.com');
    $this->email->subject('Invoice');
    $this->email->message('Test');

    $this->email->send();
            if($send)
            { 

                echo 1;
            }
            else
            {
                echo 0;

            }
}

мой JS

   $(document).on('click','#SendEmailTry',function(e){
            e.preventDefault();

         $.ajax({

        url:"<?php echo 
  base_url('Email/Send_Single_Email_Try/')?>",

        type: "POST",
        dataType: "text",

        success:function(data)
                  {
                     if (data == 1)
                      {
                        alert("send");
                      }
                      else
                      {
                         alert("notsend");
                      }


                  },
                    error: function (jqXHR, textStatus, errorThrown)
                 {

                          alert("error")


                 }

            });

});

Ответы [ 2 ]

0 голосов
/ 07 ноября 2018

Попробуйте это ....

$ this-> load-> библиотека ( 'электронная почта');

$ config ['protocol'] = 'smtp';

$ config ['smtp_host'] = 'ssl: //smtp.gmail.com';

$ config ['smtp_port'] = '465';

$ config ['smtp_timeout'] = '7';

$ config ['smtp_user'] = 'sender_mailid@gmail.com';

$ config ['smtp_pass'] = 'пароль';

$ config ['charset'] = 'utf-8';

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

$ config ['mailtype'] = 'text'; // или html

$ config ['validation'] = TRUE; // bool подтверждать или нет электронную почту

$ this-> email-> Initialize ($ конфигурации);

$ this-> email-> from ('sender_mailid@gmail.com ',' sender_name '); $ This-> email-> к ('recipient@gmail.com ');

$ this-> email-> subject ('Проверка электронной почты');

$ this-> email-> message ('Тестирование класса электронной почты.');

$ this-> email-> отправить ();

echo $ this-> email-> print_debugger ();

0 голосов
/ 07 ноября 2018
  1. проверьте и установите защиту csrf из файла конфигурации вашего сайта (yourproject / config / config.php), например,

$ config ['csrf_protection'] = FALSE;

  1. ваш код перезаписи:

    public function Send_Single_Email_Try ()    
    {
    $this->output->enable_profiler(FALSE);    
    $email_config = Array(    
    'protocol'  => 'smtp',    
    'smtp_host' => 'ssl://smtp.googlemail.com',    
    'smtp_port' => '465',    
    'smtp_user' => 'xx@gmail.com',    
    'smtp_pass' => 'xx',    
    'mailtype'  => 'html',    
    'starttls'  => true,    
    'newline'   => "\r\n"    
    );
    
    $this->load->library('email', $email_config);
    $this->email->from('someuser@gmail.com', 'invoice');
    $this->email->to('test@test.com');
    $this->email->subject('Invoice');
    $this->email->message('Test');
    
    $send = $this->email->send();
    if($send)
    { 
    
    echo 1;
    }
    else
    {
    echo 0;
    }
    }
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...