Gmail API 是不是支持没有 SMTP 的 Codeigniter?

Posted

技术标签:

【中文标题】Gmail API 是不是支持没有 SMTP 的 Codeigniter?【英文标题】:Does Gmail API Support Codeigniter Without SMTP?Gmail API 是否支持没有 SMTP 的 Codeigniter? 【发布时间】:2022-01-03 13:02:23 【问题描述】:

Gmail API 是否支持 Codeigniter? 我在互联网上搜索,只是找到了仅使用 SMTP 服务器的代码。 我想使用 Gmail API 而不是 SMTP。如果你们能帮助我,将不胜感激...... :)

【问题讨论】:

github.com/shirshak007/codeigniter_email ...看看有没有帮助 【参考方案1】:

首先你必须生成应用密码,登录谷歌账户 -> 管理谷歌账户 -> 安全 -> 启用两步验证。

App Passwords 字段将出现,单击然后选择其他并给出一些名称。将提供密码

 $config['protocol'] = PROTOCOL;
 $config['smtp_host'] = "smtp.gmail.com";
 $config['smtp_user'] = "youremail@gmail.com";
 $config['smtp_pass'] = "your_app_password";
 $config['smtp_port'] = "587";
 $config['smtp_crypto'] = 'tls';
 $config['smtp_keepalive'] = TRUE; // to enable persistant smtp connection
 $config['mailtype'] = 'html';
 $config['send_multipart'] = FALSE;
 $config['charset'] = 'utf-8';
 $config['wordwrap'] = TRUE;

 $this->email->initialize($config);
 log_message('debug', 'Email preferences initialized successfully!');

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

 $this->email->from("sender@gmail.com", "sender_name");
 $this->email->to("receiver@gmail.com");

 //email subject
 $this->email->subject("Test Email 2");

 //email body
 $this->email->message("This is a test email"); //you can send html email too

 if($this->email->send()) 
     log_message('debug',"Mail Sent successfully!");
  else 
     log_message('debug','Print Debugger with body: '.$this->email->print_debugger(array('body')));
 

这就是你所需要的,你可以在gmail中查看你的sent mails

供参考:https://github.com/shirshak007/codeigniter_email

【讨论】:

感谢您的帮助,有什么方法可以通过 Gmail API 而不是使用 SMTP 发送电子邮件?实际上,我的客户认为 SMTP 很慢,我们可以使用 Gmail API 更快地发送电子邮件

以上是关于Gmail API 是不是支持没有 SMTP 的 Codeigniter?的主要内容,如果未能解决你的问题,请参考以下文章

支持 GMail TLS/STARTTLS 与 SSL 的 Curl SMTP 命令行参数是啥

Gmail API 是不是支持使用 OAuth 服务帐户?

无法使用 gmail 通过 python 发送电子邮件 - smtplib.SMTPException:服务器不支持 SMTP AUTH 扩展

Laravel 5.5 发送电子邮件没有响应 smtp.gmail.com #10060

如何使用 gmail api 使用 nodemailer smtp oauth2?收到错误 535:不接受用户和通行证

SMTP使用Gmail发送电子邮件问题