user3551487
user3551487

Reputation: 162

not being able to Send html Email in Codeigniter

Hello i need help i have been doing my best to be able to send html email but its not working i just get the alert that email have not been sent. In the library > email.php file i havent change anything just left as default please help because i have been trying to solve this problem since two weeks ago please help!

        $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';

        }

Upvotes: 1

Views: 616

Answers (2)

Arvind Jaiswal
Arvind Jaiswal

Reputation: 442

Send mail with 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());
    }

Upvotes: 1

Saty
Saty

Reputation: 22532

Because you are sending email two times in your code

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

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

After $this->email->send() every thing is clear. Just use

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

Upvotes: 1

Related Questions