web-dev-qa-db-fra.com

Impossible d'envoyer un email en utilisant PHP SMTP. Votre serveur peut ne pas être configuré pour envoyer du courrier en utilisant cette méthode

Iam utilisant codeigniter

J'ai exicuted le code sur le serveur live .

Impossible d'envoyer un courrier électronique avec PHP SMTP. Votre serveur peut ne pas être configuré pour envoyer un courrier en utilisant cette méthode.

public function sendEnquiry() {
            $this->load->library('email');
            $name = $this->input->post("fname");
            $cemail = $this->input->post("email");
            $pno = $this->input->post("phone");
            $message = $this->input->post("message");
            $config['protocol']    = 'smtp';
            $config['smtp_Host']    = 'ssl://mail.gatewaykhobar.com';
            $config['smtp_port']    = '465';
            $config['smtp_timeout'] = '7';
            $config['smtp_user']    = '***********';
            $config['smtp_pass']    = '***********';
            $config['charset']    = 'utf-8';
            $config['newline']    = "\r\n";
            $config['mailtype'] = 'text'; // or html
            $config['validation'] = FALSE;

            $this->email->initialize($config);
            $this->email->from('[email protected]','Gateway Restaurent Contact');
            $this->email->to($cemail); 
            $this->email->subject('Gateway Restaurent Contact Enquiry');

           $this->email->message($message);  
            $send = $this->email->send();
            if($send) {
                echo json_encode("send");
            } else {
                $error = $this->email->print_debugger(array('headers'));
                echo json_encode($error);
            }

        }
2
Anas Ummalil

Modifiez smtp_port de 465 à 587 Assurez-vous que $ config ['newline'] = "\ r\n"; est entre guillemets doubles et non entre guillemets

8
katwekibs

Une cause fréquente est la façon dont CodeIgniter interagit avec le serveur SMTP en ce qui concerne les sauts de ligne. Votre serveur SMTP peut nécessiter \r\n et CodeIgniter utilise \n.

Il existe une solution simple: après votre $this->email->initialize(), ajoutez ce qui suit:

$this->email->set_newline("\r\n");  

Cela devrait le faire fonctionner pour vous.

2
pbarney

Il semblerait que le serveur de messagerie soit également hébergé par vous. Essayez d’envoyer des messages à partir de n’importe quel client de messagerie. Si cela échoue - il y a un problème avec la configuration de votre serveur de courrier, pas avec le code que vous avez collé - consultez les journaux du serveur.

0
meta
$mail_config['smtp_Host'] = 'smtp.gmail.com';
$mail_config['smtp_port'] = '587';
$mail_config['smtp_user'] = '[email protected]';
$mail_config['_smtp_auth'] = TRUE;
$mail_config['smtp_pass'] = 'password';
$mail_config['smtp_crypto'] = 'tls';
$mail_config['protocol'] = 'smtp';
$mail_config['mailtype'] = 'html';
$mail_config['send_multipart'] = FALSE;
$mail_config['charset'] = 'utf-8';
$mail_config['wordwrap'] = TRUE;
$this->email->initialize($mail_config);

$this->email->set_newline("\r\n");

Je viens d'ajouter la dernière ligne

0
Tadeu RT