2015-10-21 4 views
0

Я пытаюсь отправить почту через SMTP, но, вероятно, CI не узнает config, поэтому он пытается подключить мой собственный сервер SMTP.Codeigniter SMTP Mail Config

Это мой код для отправки почты:

$config = array 
    (
    'protocol'  => 'smtp', 
    'smtp_host'  => 'in-v3.mailjet.com', 
    'smtp_port'  => '587', 
    'smtp_user'  => 'myusername', 
    'smtp_pass'  => 'mypassword', 
    'mailtype'  => 'html', 
    'newline'  => '\r\n', 
    'charset'  => 'utf-8', 
    'validation' => TRUE 
    ); 

    $this->load->library('email', $config); 
    $this -> email -> from('[email protected]'); 
    $this -> email -> to('[email protected]'); 
    $this -> email -> subject('mySubject'); 
    $this -> email -> message('myMessage'); 
    $this -> email -> send(); 

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

И это мой выход:

220-server.myserver.com ESMTP Exim 4.86 #2 Wed, 21 Oct 2015 19:38:24 +0300 220-We do not authorize the use of this system to transport unsolicited, 220 and/or bulk e-mail. 
hello: 250-server.myserver.com Hello li14.members.linode.com [my.ip.address.here] 
250-SIZE 52428800 
250-8BITMIME 
250-PIPELINING 
250-AUTH PLAIN LOGIN 
250-STARTTLS 
250 HELP 
535 Incorrect authentication data 

Это дает 535, и это нормально, потому что имеет для подключения сервера MailJet, а не моя. Я пробовал разные методы инициализации конфигурации, но результат такой же.

Благодарим заранее.

+0

Это сообщение, если ваш пароль или имя пользователя не принимается отправляющего сервера, сбросить имя пользователя/пароль, на ваш SMTP сервер – Linus

+0

Пожалуйста, внимательно прочитайте, конечно, дает эту ошибку, потому что он пытается подключиться неправильный сервер, и это моя проблема. –

ответ

0

Инициализировать конфигурацию после загрузки библиотеки. Попробуй это. появляется

$config = array( 
    'protocol' => 'smtp', 
    'smtp_host' => 'mail.google.com', 
    //'smtp_port' => '465', 
    'smtp_timeout' => '7', 
    'smtp_user' => '[email protected]', 
    'smtp_pass' => 'password', 
    'charset' => 'utf-8', 
    'newline' => "rn", 
    'mailtype' => 'html', // or html 
    'wordwrap' => FALSE, 
    'validation' => TRUE // bool whether to validate email or not 
); 

$this->load->library('email'); 
$this->email->initialize($config); 
$this->email->set_newline("rn"); 
$this->email->from($email, 'Subject'); 
$this->email->to('[email protected],[email protected],[email protected]'); 
$this->email->subject('Contact us form by: ' . $name); 
$this->email->message($message . '<br>website:' . $website); 
$this->email->send(); 

//echo $this->email->print_debugger(); `enter code here` 
+0

Я уже пробовал это, тот же результат. –

+0

Вы попробовали это? '$ this-> email-> initialize ($ config);' – Suraj

+0

Конечно. Одна и та же. –

0
$email = $this->input->post('email');  


$config = Array(
'protocol' => 'smtp', 
'smtp_host' => 'ssl://smtp.googlemail.com', 
'smtp_port' => 465, 
'smtp_user' => '******', 
'smtp_pass' => '******', 
'mailtype' => 'html', 
'charset' => 'utf-8', 
'wordwrap' => TRUE 
); 

     $this->load->library('email', $config); 
     $this->email->set_newline("\r\n"); 
     $this->email->from('******', "Name"); 
     $this->email->to($email); 
     $this->email->subject("success"); 
     $message = "<p>This email has been sent success</p>"; 
     $this->email->message($message); 
     $this->email->send();