codeigniter send email working but not all the time - php

this is driving me crazy.... I have just uploaded a site with this email configuration for receiving message from the contact form:
$config = Array(
'protocol' => 'smtp',
'smtp_host' => 'mail.mysite.com',
'smtp_port' => 587,
'smtp_user' => 'noreply#mysite.com.ar',
'smtp_pass' => 'mypass',
'mailtype' => 'html',
'charset' => 'iso-8859-1',
'wordwrap' => TRUE
);
$this->email->initialize($config);
$this->email->set_newline("\r\n");
$this->email->from($data['ct_email'], "contact form");
$this->email->reply_to($data['ct_email']);
$this->email->to("prueba#mysite.com");
$this->email->bcc("noreply#mysite.com.ar"); //copy
$this->email->subject($data['ct_subject']);
$this->email->message($data['ct_message']);
$email = false;
if($this->email->send()){
$email = true;
}
return $email;
As you can see I have a .com and a .com.ar, My server is configured with the .com.ar account but I created an alias with the .com
The problem is that messages arrive in 1 to 10 messages sended...so that means it only works sometimes.
How can I solve this? I have tried changing email addresses but it's all the same...
I keep trying sending messages and it only send sometimes. For the ones that are not sended this is the error displayed:
-0300 220-We do not authorize the use of this system to transport unsolicited, 220 and/or bulk e-mail.
Unable to send email using PHP SMTP. Your server might not be configured to send mail using this method.

Related

Sending email from office365 sometimes not working

I've setup my email sender using outlook office365 with codeigniter 3. Below code works but sometimes it doesn't and I don't know why. Sometimes it will not work the first time I push my repo but when I tried it again, it works. I've logged the error below.
Error:
Failed to authenticate password. Error: <br />Unable to send email using PHP SMTP. Your server might not be configured to send mail using this method.<br />
Code:
public function send_mail($to_email = null, $name = '')
{
$config = array(
'protocol' => 'smtp',
'smtp_crypto' => 'tls',
'smtp_host' => 'smtp.office365.com',
'smtp_port' => 587
'smtp_user' => EMAIL_SENDER,
'smtp_pass' => EMAIL_SENDER_PASSWORD,
'mailtype' => 'html',
'charset' => 'utf-8',
'wordwrap' => TRUE,
'newline' => "\r\n",
'crlf' => "\n",
'starttls' => true
);
$from_email = EMAIL_SENDER;
$this->load->library('email', $config);
$this->email->set_newline("\r\n");
$this->email->from($from_email, 'Power App');
$this->email->to($to_email);
$this->email->subject('Password Reset');
$this->email->set_crlf("\r\n");
$data["user"] = $to_email;
$data["name"] = $name;
$this->email->message($this->load->view('email/email_reset_password_template', $data, true));
//Send mail
if ($this->email->send())
return "Email sent successfully.";
else {
return $this->email->print_debugger();
}
}
UPDATE:
Its now always working when I use PHPMailer. Haven't really discover why its not always sending email using email library.

Sending Mail Using Gmail In Codeigniter

I will try to send mail using gmail in codeigniter. I write code as given bellow. When i upload it on c panel it will work properly for 2 days but after that it stop working.
//Load email library
$this->load->library('email');
//SMTP & mail configuration
$config = array(
'protocol' => 'smtp',
'smtp_host' => 'ssl://smtp.googlemail.com',
'smtp_port' => 465,
'smtp_user' => 'xxxxxx',
'smtp_pass' => 'xxxxxx',
'mailtype' => 'html',
'charset' => 'utf-8'
);
$this->email->initialize($config);
$this->email->set_mailtype('html');
$this->email->set_newline("\r\n");
//Email content
$htmlContent = '<h1>MY WEBSITE</h1>';
$htmlContent .= '<p>OTP For Reset Your Password.</p>';
$this->email->to($uemail);
$this->email->from('xxxxxxxx','MyWebsite');
$this->email->subject('MESSAGE');
$this->email->message($htmlContent);
//Send email
$this->email->send();
I experienced the same thing where the email was not sent and there was no error, it turned out that when I checked my Gmail account it wasn't always on the Primary tab (make sure it wasn't in the Spam folder either). Sent but in the Promotions tab.

I would like to send email using SMTP server with codeigniter

I'm try to sending email using SMTP server with codeIgniter
i have code and its working fine on localhost but not on server, i have done lots of research and try many code but it's still not working.
$config = Array(
'protocol' => 'smtp',
'smtp_host' => 'ssl://smtp.googlemail.com',
'smtp_port' => 465,
'smtp_user' => 'xxxxx#gmail.com',
'smtp_pass' => 'xxxxxxx',
'mailtype' => 'html',
'charset' => 'iso-8859-1'
);
$this->load->library('email', $config);
$this->email->set_newline("\r\n");
$this->email->from('xxx#gmail.com', 'Blabla');
$list = array('xxx#gmail.com','xxxxx#gmail.com');
$this->email->to($list);
$this->email->reply_to('xxxxx#gmail.com', 'Explendid Videos');
$this->email->subject('This is an email test');
$this->email->message('It is working. Great!');
$result = $this->email->send();
Error-
The following SMTP error was encountered: 111 Connection refused
Unable to send email using PHP SMTP. Your server might not be configured to send mail using this method.
please edit your autoload to
$autoload['libraries'] = array('database','email');
please advise if you are still getting an error...

SMTP success but the email is not delivered

I'm a newbie to CodeIgntier. I'm trying to setup SMTP on CodeIgniter. I receive a success message on page but email is not delivered. Can somebody help me?
$config = Array(
'protocol' => 'smtp',
'smtp_host' => 'ssl://smtp.gmail.com',
'smtp_port' => 465,
'smtp_user' => 'xxx#gmail.com',
'smtp_pass' => 'xxx',
'mailtype' => 'html',
'charset' => 'iso-8859-1'
);
$this->load->library('email', $config);
$this->email->from('xxx#gmail.com', 'Admin Team');
$sendTo = $this->input->post('email');
$message= 'Hello';
$this->email->to($sendTo);
$this->email->subject('Verification Email');
$this->email->message($message);
if($this->email->send()){
echo "Success";
}
You have mentioned xxx#gmail.com. In google there is Security protection call 2-Step Verification. Make sure its there,If there remove it and try
There is no fault in your code. . To remove it check this link
your code seems ok, make sure your server has openssl extension up and running , and check your firewall for the used smtp port (465 in your case). I would also recommend you using the third party library phpmailer from https://github.com/ivantcholakov/codeigniter-phpmailer whic (mostly for sending html in your message and links )
cheers!

Email not working in Codeigniter

I am working on booking app in codeigniter. I am stuck in email sending from localhost.
I am using gmail smtp for sending email. I am using email/booking_email.php view file as email template. But, When I run website page that contains email sending script in localhost, it keeps loading but email is not sent.
$email = "atomambition#gmail.com";
$name = "Wiyo HK";
$email_config = Array(
'protocol' => 'smtp',
'smtp_host' => 'ssl://smtp.gmail.com',
'smtp_port' => 465,
'smtp_user' => 'atomambition#gmail.com',
'smtp_pass' => '********',
'mailtype' => 'html',
'charset' => 'iso-8859-1'
);
$this->load->library('email', $email_config);
$this->email->from($email, $name);
$this->email->to($this->bookings_class->get_email());
$this->email->reply_to($email, $name);
$subject = 'This is Booking email from Wiyo HK';
$this->email->subject($subject);
$data = array('customer_name' => 'Avash Poudel');
$message = $this->load->view('email/booking_email', $data, TRUE);
$this->email->message($message);
echo $result = $this->email->send();
Localhost does not support sending emails directly unless configured.
In the localhost it does not work like this . For testing use mail() protocol on localhost and smtp on server.
$config['crlf'] = "\r\n";
$config['newline'] = "\r\n";
Add this in $email_config.
After that you need to initialise your config array.
So write this $this->email->initialize($email_config);
Also use $this->email->print_debugger() to debug

Categories