【问题标题】:Smtp Codeigniter 3SMTP Codeigniter 3
【发布时间】:2019-01-25 17:18:01
【问题描述】:

为了训练我使用 codeigniter,我决定设置一个受登录密码保护的应用程序。 如果密码丢失,我有邮件确认功能。但是那里...

220 smtp.gmail.com ESMTP j39-v6sm10096073wre.44 - gsmtp

您好:250-smtp.gmail.com 随时为您服务,[86.236.5.51]

250 尺寸 35882577

250-8BITMIME

250-AUTH LOGIN PLAIN XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER XOAUTH

250-增强状态代码

250-流水线

250 分块

250 SMTPUTF8

来自:250 2.1.0 OK j39-v6sm10096073wre.44 - gsmtp

到:250 2.1.5 OK j39-v6sm10096073wre.44 - gsmtp

数据:354 继续 j39-v6sm10096073wre.44 - gsmtp

退出:

L'erreur SMTP suivante s'est produite :

L'erreur SMTP suivante s'est produite :

Impossible d'envoyer des emails avec lamethode SMTP de PHP。投票服务器 doit pas être configuré pour pouvoir utiliser cette 方法。

日期:2018 年 8 月 19 日星期日 08:51:39 +0000

发件人:

返回路径:

收件人:tony.amprou@gmail.com

主题:=?UTF-8?Q?\r=20test?=

回复:

用户代理:CodeIgniter

X 发件人:tony.amprou@gmail.com

X-Mailer: CodeIgniter

X 优先级:3(正常)

消息 ID:

Mime 版本:1.0

内容类型:文本/纯文本; charset=UTF-8

内容传输编码:8bit

你好

我不明白我可能犯的错误。这是我的代码。

public function oubli() 
	{
	$this->load->helper("form");
	$this->load->library('form_validation');
		$this->form_validation->set_rules('mail','mail','trim|required');
		if($this->form_validation->run() ==false) 
		{
			$this->load->view('login/oubli');
		}
		else
		{	
		$mail = $this->input->post('mail');
		$this->auth_user->oubli_pass($mail);
		$nombre = $this->auth_user->nombre;
			if($nombre == '1') 
			{
        	$this->load->library('email');
        	$this->config->load('email', TRUE);
        	$this->email->initialize($this->config->item('email'));
        	$this->email->from('tony.amprou@gmail.com');
        	$this->email->to($this->input->post('mail'));
       		$this->email->subject('test');
        	$this->email->message('Bonjour');
        		if($this->email->send())
        		{
        		$data['result_class'] = "alert-success";
        		$data['result_message'] ="Un email de reinitialisation vient de vous etre envoyé";
				}
				else
				{
				$data['result_class'] = "alert-danger";
            	$data['result_message'] = "Votre message n'a pas pu être envoyé. Nous mettons tout en oeuvre pour résoudre le problème.";
            	$data['result_message'] .= "<pre>\n";
            	$data['result_message'] .= $this->email->print_debugger();
            	$data['result_message'] .= "</pre>\n";
            	$this->email->clear();	
				}
			$this->load->view('login/oubli_result', $data);
			}
			else
			{
				$data['mail_error'] = "L'adresse mail est inconnu";
				$this->load->view('login/oubli', $data); 
			}

		}
	}

还有我的配置文件...

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

$config['protocol']  = "smtp";
$config['smtp_host'] = "smtp.gmail.com";
$config['smtp_user'] = "tony.amprou@gmail.com";
$config['smtp_pass'] = "MON MOT DE PASSE";
$config['smtp_port'] = '465';
$config['charset']   = 'utf-8';
$config['newline']   = '\r\n';
$config['crlf']		 = '\n';
$config['mailtype']	 = 'text';
$config['starttls']  =  'true';
$config['smtp_crypto'] = "ssl";
$config['ssl'] = "ssl";

【问题讨论】:

    标签: php codeigniter email gmail codeigniter-3


    【解决方案1】:

    确保在您的 gmail 中启用了“允许不太安全的应用”设置。并检查您最近在 gmail 中的登录活动,您可能需要允许访问您的服务器。 在此之后再次测试它,如果它仍然无法正常工作,请访问此 URL https://accounts.google.com/b/0/displayunlockcaptcha 单击“继续”并再次测试它。现在它应该可以工作了

    【讨论】:

    • 感谢您的回答。我激活了 gmail 安全选项,但错误仍然存​​在。但是,在 gmail 连接详细信息中,没有出现 smtp 连接。对于孤立的问题,我还更改了 php 的时区,但没有结果。我还在 utf8 中备份了我的控制器,但没有结果。但我问自己这个问题。 Gmail 会拒绝向登录的同一个人发送电子邮件吗?我做测试,然后再找你。
    • 我的荣幸!但时区与此问题无关。当您使用 gmail smtp 设置发送电子邮件时。 Gmail 将第一次阻止访问,您需要转到您的 gmail 帐户的最近活动部分并将活动标记为您的(Gmail 会问这样的问题)“这是你”?就像我们用不同的机器登录 gmail 时收到一封电子邮件一样。
    【解决方案2】:

    问题解决了。

    我在控制器中添加了“$ this-> email-> set_newline (" \ r \ n ");”这一行。

    电子邮件发送良好。那就是说我不明白为什么这个小命令行能解决我的问题......

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

    【讨论】:

    • 不适合我,得到同样的错误:220 smtp.gmail.com ESMTP j39-v6sm10096073wre.44 - gsmtp
    猜你喜欢
    • 2016-05-10
    • 2018-12-21
    • 2019-09-24
    • 2020-07-30
    • 2010-12-04
    • 2016-11-15
    • 2017-11-21
    • 2012-11-08
    • 1970-01-01
    相关资源
    最近更新 更多