Codeigniter Amazon SES SMTP Connect Error - php

I want to send email using Amazon SES in Codeigniter, i have tried everything, i also tried the earlier questions asked on codeigniter too, but i am not able to find the solution for this.
public function add_applicants()
{
$this->load->model('visa/India_model');
$datan = $this->India_model->insertappdata();
$appid = $datan[appid];
$this->load->library('email');
$config['protocol'] = 'smtp';
$config['charset'] = 'ISO-8859-1';
$config['mailtype'] = 'html';
$config['smtp_host'] = "ssl://email-smtp.eu-west-1.amazonaws.com";
$config['smtp_user'] = "SMTP USER SES";
$config['smtp_pass'] = "SMTP Password SES";
$config['smtp_port'] = "465";
$config['newline'] = "\r\n";
$config['mailsender'] = "support#indiaevisaservice.com";
$config['smtp_crypto'] = 'tls';
$this->email->initialize($config);
$this->email->print_debugger();
$this->email->from('support#verfiedemail.com', 'GYEV Experts');
$this->email->to('imthegrv#gmail.com', 'Test To');
$this->email->subject('Test');
$this->email->message('test');
if($this->email->send()):
print_r($appid);
else:
print_r($this->email->print_debugger());
endif;
}
i am getting error
SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

You didn't follow the link provided in the error message, which provides tests that you can use to diagnose your problem.
These three lines are inconsistent:
$config['smtp_host'] = "ssl://email-smtp.eu-west-1.amazonaws.com";
$config['smtp_port'] = "465";
$config['smtp_crypto'] = 'tls';
tls mode will not work on port 465. That should be ssl. Alternatively, change port to 587, and it should be an integer, not a string. There's also no need for the ssl:// prefix on your host; that just adds confusion. First step, change them to this:
$config['smtp_host'] = 'email-smtp.eu-west-1.amazonaws.com';
$config['smtp_port'] = 465;
$config['smtp_crypto'] = 'ssl';
You may still have other issues (e.g. your ISP may block outbound SMTP connections), but there are many other tests listed in the guide that will help you diagnose that.

Related

godaddy smtp data (codeigniter)

I have been trying and failing to get my email configuration working with godaddy. I am using the codeigniter framework (version 3). I even contacted their support but nothing they gave me or i tried worked.
$config['email_address'] = 'no-reply#domain.com';
$config['owner'] = 'name';
$config['email_owner'] = 'no-reply#domain.com';
$config['charset'] = 'utf-8';
$config['mailtype'] = 'html';
$config['protocol'] = 'smtp';
$config['smtp_host'] = 'domain.com';
$config['smtp_crypto'] = 'ssl';
$config['smtp_port'] = '465'; // 465, 25
$config['smtp_timeout'] = '7';
$config['smtp_user'] = 'no-reply#domain.com';
$config['smtp_pass'] = 'xxxxx';
$config['validation'] = TRUE;
I tried the smtpout.europe.secureserver.net that they provide on the website (not working)
This is the last info i got from their support team. Maybe someone sees something i did wrong.
Secure SSL /TLS Settings (Recommended)
Username: no-reply#vbuw.app
Password: email account’s password.
Incoming Server: vbuw.app
IMAP Port: 993
POP3 Port: 995
Outgoing Server: vbuw.app
SMTP Port: 465 IMAP, POP3, and SMTP require authentication.
After calling again to godaddy and getting a diffrent tech support person on the line. We managed to solve the issue.
THIS IS A NONE SECURE (NOT USING SSL) SOLUTION
the smtp_host = mail.domain.app
the smtp_port = 587
the smtp_crypto should be removed (so no ssl)
So for reference
$config['email_address'] = 'no-reply#domain.com';
$config['owner'] = 'name';
$config['email_owner'] = 'no-reply#domain.com';
$config['charset'] = 'utf-8';
$config['mailtype'] = 'html';
$config['protocol'] = 'smtp';
$config['smtp_host'] = 'domain.com';
// $config['smtp_crypto'] = 'ssl';
$config['smtp_port'] = '587'; // 465, 25, 587
$config['smtp_timeout'] = '7';
$config['smtp_user'] = 'no-reply#domain.com';
$config['smtp_pass'] = 'xxxxx';
$config['validation'] = TRUE;

Getting Error on Sending Email - CodeIgniter

I have the below code for sending email, and on this I am getting SMTP error.
The following SMTP error was encountered: 10060 A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
Unable to send data: AUTH LOGIN
It is a very long error I have just provided the upper part.
CODE.
$frommail = "sharadrsoni#gmail.com";
$config['protocol'] = 'smtp';
$config['smtp_host'] = 'ssl://smtp.gmail.com';
$config['smtp_port'] = '465';
$config['smtp_user'] = 'sharadrsoni#gmail.com';
$config['smtp_pass'] = 'pass'; //your smtp password
$config['mailtype'] = 'html';
$config['charset'] = 'iso-8859-1';
$config['wordwrap'] = TRUE;
$config['newline'] = "\r\n";
$this->email->initialize($config);
$this->email->from($frommail, $companyfullname);
$this->email->to($tomail);
$this->email->subject($subject);
$this->email->set_mailtype('html');
$this->email->message($MHtml);
$emailSent = $this->email->send();
I have tried couple of ways but ended showing this error only.
I am using CodeIgniter version: 2.1.0

Using Gmail smtp service

I am trying to send email from my server with gmail smtp. I am using following code:
$mesaj=$this->load->view('main/mail.php',$token,true);
$config['protocol'] = 'smtp';
$config['wordwrap'] = FALSE;
$config['charset'] = 'utf-8';
$config['mailtype'] = 'html';
$config['smtp_host'] = 'smtp.gmail.com';
$config['smtp_user'] = 'info#site.com';
$config['smtp_pass'] = 'password';
$config['smtp_port'] = '465';
$this->load->library('email');
$this->email->initialize($config);
$this->email->from('info#site.com');
$this->email->to($email);
$this->email->subject('Subject');
$this->email->message($mesaj);
$this->email->send();
echo $this->email->print_debugger();
But I am getting following error:
SMTP ERROR OCCURED. AUTH LOGIN COMMAND COULD NOT SEND
I have no SSL certificate on my server. Is this could be the problem ? How can I resolve this problem ?
The port 465 is reserved for SSL requests on the smtp.gmail.com server.
It doesn't look like you specified the authorization method here (none / ssl / tsl).
I'm not too familiar with PHP, so I don't know exactly how you'd set it...

Failed to send AUTH LOGIN command. Error: 530 5.7.0 Must issue a STARTTLS command first

I am having the following code
ini_set("SMTP","ssl://smtp.gmail.com");
ini_set("smtp_port","587");
$config['protocol'] = 'smtp';
$config['smtp_host'] = 'smtp.gmail.com';
$config['smtp_port'] = '587';
$config['_smtp_auth']=TRUE;
$config['smtp_user'] = 'sender#gmail.com';
$config['smtp_pass'] = 'password';
$config['smtp_timeout'] = '60';
$config['charset'] = 'utf-8';
$config['wordwrap'] = TRUE;
$config['mailtype'] = "html";
$this->email->initialize($config);
$this->email->from('sender#gmail.com', 'Sender');
$this->email->to('receiver#gmail.com');
$this->email->subject('This is my subject');
$this->email->message('This is the content of my message');
if ( ! $this->email->send())
{
show_error($this->email->print_debugger());
}
else
{
echo('DONE');
}
But when the code executes, I am getting the following error
Failed to send AUTH LOGIN command. Error: 530 5.7.0 Must issue a STARTTLS command first. qd9sm8462833pbb.31
I have used
$this->load->library('email');
in my controller's constructor. But I am unable to send email from localhost. What can be the solution to send email? What changes do I need to make?
$config['protocol'] = 'smtp';
$config['smtp_host'] = 'ssl://smtp.gmail.com';
$config['smtp_port'] = '465';
I think you should set "Enable IMAP" option in your Gmail account.
It is in the Mail options.
And change your port to 465 ...
$config['smtp_port'] = '587';
to
$config['smtp_port'] = '465';
Add:
$config['smtp_crypto'] = 'tls'; // or html

Can't send email

I tried to send mail using the email class of CodeIgniter, but it is showing some errors:
fsockopen() [function.fsockopen]: unable to connect to
ssl://smtp.googlemail.com:465 (Unable to find the socket transport
"ssl" - did you forget to enable it when you configured PHP?)
My code is here:
$config['protocol'] = 'smtp';
$config['smtp_host'] = 'ssl://smtp.googlemail.com';
$config['smtp_port'] = 465;
$config['smtp_user'] = 'myemail.world2010#gmail.com';
$config['smtp_pass'] = 'email';
$this->load->library('email');
$this->email->initialize($config);
$this->email->set_newline("\r\n");
$message="
username:{$this->input->post('username')}
password:{$this->input->post('password')}
";
$this->email->from('sagar.world2010#gmail.com','Admin');
$this->email->to($this->input->post('email'));
$this->email->subject('Activation Message');
$this->email->message($message);
$this->email->send();
echo $this->email->print_debugger();
I also changed the php.ini file and pasted extension=php_openssl.dll in it, but it still does not work.
The smtp server from gmail is smtp.gmail.com
so your configuration should be:
$config['protocol'] = 'smtp';
$config['smtp_host'] = 'ssl://smtp.gmail.com';
$config['smtp_port'] = 465;
$config['smtp_user'] = 'myemail.world2010#gmail.com';
$config['smtp_pass'] = 'email';
but I'm not sure if smtp_host need the 'ssl://' part

Categories