не может отправлять html электронную почту в Codeigniter

1

Здравствуйте, мне нужна помощь, я прилагаю все усилия, чтобы отправить html-адрес электронной почты, но он не работает, я просто получаю предупреждение о том, что письмо не отправлено. В библиотеке> файл email.php я не могу изменить что-либо, оставленное как по умолчанию, пожалуйста, помогите, потому что я пытался решить эту проблему, так как две недели назад, пожалуйста, помогите!

        $name = $this->input->post('name');

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

        $comment = $this->input->post('message');

        $config['mailtype'] = 'html';

        $this->load->library('email',$config);

        $message =  "<html>";

        $message .= "<style type='text/css'> body,td,th { font-family: Arial, Helvetica, sans-serif; font-size: 13px;}</style>";

        $message .=  "<body>";

        $message .= "<table width='650' border='1' cellspacing='0' cellpadding='6'> ";

        $message .= "<tr>";

        $message .= "<td colspan='2' bgcolor='#6495ed' style='font-weight: bold;'>CONTACT DETAILS</td>";

        $message .= "</tr>";

        $message .= "<tr>";

        $message .= "<td width='237'>Client Name:</td>"."<td width='393'>".$name."</td>";


        $message .= "</tr>";

        $message .=  "<tr>";

        $message .=  "<td>Message:</td>"."<td>".$comment."</td>";

        $message .= "</table><br><br>";

        $message .= "</body>";

        $message .= "</html>";



        $this->email->from($email,$name);

        $this->email->to('[email protected]','[email protected]');

        $this->email->subject('New Contact Email from Client');

        $this->email->message($message);

        $this->email->send();

        if($this->email->send()== TRUE){
            echo'message sent';
        }else{
            echo'message not sent';

        }
  • 0
    Я вижу только этот $config['mailtype'] = 'html'; у вас есть SMTP хост и т. д., как показано в руководстве пользователя? codeigniter.com/user_guide/libraries/...
  • 0
    проверьте после добавления этого $config['charset'] = 'utf'; $config['wordwrap'] = 'TRUE';
Показать ещё 5 комментариев
Теги:
codeigniter
email

2 ответа

1
Лучший ответ

Поскольку вы отправляете по электронной почте два раза в свой код

$this->email->send();// first time

if($this->email->send()== TRUE){ //and second time here

После $this->email->send() все ясно. Просто используйте

$this->email->message($message);
        if($this->email->send()== TRUE){
            echo'message sent';
        }else{
            echo'message not sent';
        }
  • 0
    позвольте мне добавить и посмотреть
  • 0
    Не удалось подключиться к почтовому серверу через порт «localhost» 25, проверьте настройки «SMTP» и «smtp_port» в php.ini или используйте ini_set ()
Показать ещё 3 комментария
0

Отправить письмо с googlemail smtp

$this->load->library('email');

$config = Array(   
        'protocol' => 'smtp',
        'smtp_host' => 'ssl://smtp.googlemail.com',
        'smtp_port' => 465,
        'smtp_user' => '[email protected]', // change it to yours
        'smtp_pass' => '*******', // change it to yours
        'mailtype' => 'html', // text
        'charset' => 'iso-8859-1',
        'newline' => '\r\n',
        'wordwrap' => TRUE
    );

    $this->email->initialize($config);
    $this->email->from('[email protected]'); 
    $this->email->to('[email protected]');

    $this->email->subject('Test mail');
    $this->email->message('Test HTML Data');
    if($this->email->send())
    {

        echo "Mail sent";
    }
    else
    {
        show_error($this->email->print_debugger());
    }

Ещё вопросы

Сообщество Overcoder
Наверх
Меню