Php 在codeigniter中发送邮件时出错?

Php 在codeigniter中发送邮件时出错?,php,codeigniter-3,Php,Codeigniter 3,发送邮件时出错帮助我解决此问题 遇到以下SMTP错误:0 无法使用PHP SMTP发送电子邮件。您的服务器可能未配置为使用此方法发送邮件 错误 用户代理:CodeIgniter日期:2017年8月25日星期五09:16:26+0000发件人: “xxx”返回路径:至:xx@x.com答复:“XXX” 主题: utf-8?Q?=57=65=65=6B=6C=79=20=43=6F=75=72=73=65=20=42=61=74=63=68=20=52?==utf-8?Q?=65=70=6F=72=

发送邮件时出错帮助我解决此问题

遇到以下SMTP错误:0 无法使用PHP SMTP发送电子邮件。您的服务器可能未配置为使用此方法发送邮件

错误

用户代理:CodeIgniter日期:2017年8月25日星期五09:16:26+0000发件人: “xxx”返回路径:至:xx@x.com答复:“XXX” 主题: utf-8?Q?=57=65=65=6B=6C=79=20=43=6F=75=72=73=65=20=42=61=74=63=68=20=52?==utf-8?Q?=65=70=6F=72=74?=X发送方:xx@xx.comX-Mailer:CodeIgniter X-Priority:3(正常)

代码


您可以使用SwiftMailer通过Codeigniter发送电子邮件

  • 首先使用从Github下载swiftmailer项目
  • 下载后,仅将文件夹复制到codeigniter的文件夹,并将文件夹名称重命名为swift_mailer(或任何您想要的名称)

  • 现在在Codeigniter的model文件夹中创建一个名为likemodel\u Email\u Sending.php的模型

  • 现在将这里给出的代码粘贴到该文件。(替换服务器Cpanel提供的电子邮件、密码和邮件端口)


    行211
    中有一个错误

    “classes\Swift\Transport\esmttptransport.php”。

    改变

    return $this->params['sourceIp'] ?? null; 
    

    数据库中也有丢失的文件


    软件包:
    swift\u init.php
    swift\u required\u pear.php

    现在没有足够的信息帮助您检查@MasivuyeCokile
    您的服务器可能没有配置为使用此方法发送邮件。
    您有邮件软件吗?已安装Sendmail、SSMTP等?如果您在连接邮件服务器时遇到问题,请确保您的SMTP和POP3服务器端口设置正确。不,丹,我没有任何邮件软件。您是否认真回答此问题此回答质量太低,请重新考虑所有问题。
    <?php
    defined('BASEPATH') OR exit('No direct script access allowed');
    require_once APPPATH . 'libraries/swift_mailer/swift_required.php';
    class Model_Email_Sending extends CI_Model
    {
       function __construct()
       {
          parent::__construct();
       }
      function send_applicant_information_to_mail($applicant_id,$password,$first_name,$last_name,$email_id)
      {
          $system_email = "noreply@yourdomain.com";
          $email_msg = "Welcome to yourdomain.com ".$first_name . ' '.$last_name ."<br />";
          $email_msg .= "Thanks For applying<br />";
          $email_msg .= "Your application ID : " . $applicant_id . "<br />";
          $email_msg .= "Your application Password : " . $password . "<br />";
          $email_msg .= "You can Login now using this credential and can check your status.<br />";
          $to_name = $first_name;
          $from = $system_email;
          $from_name = 'Domain TEAM';
          $email_sub = "Application Information";
          $email_to = $email_id;
    
          $this->do_email($email_msg, $email_sub, $email_to, $to_name, $from, $from_name);
      }
       function do_email($msg=NULL, $sub=NULL, $to=NULL, $to_name=NULL, $from=NULL, $from_name=NULL)
      {
          $headers  = 'MIME-Version: 1.0' . "\r\n";
          $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
          $headers .= 'To: '.$to_name.' <'.$to.'>' . "\r\n";
          $headers .= 'From: '.$from_name.' <'.$from.'>' . "\r\n";
    
          $from = 'noreply@yourdomain.com';
          $from_name = 'Domain TEAM';
          $fromsend = array($from => $from_name);
    
    
          $transport = Swift_SmtpTransport::newInstance('mail.yourdomain.com', 587); //By default Cpanel use this port for email . You have to find your domain's port yourself
          $transport->setUsername('noreply@yourdomain.com');
          $transport->setPassword('yourpassword');
          $swift = Swift_Mailer::newInstance($transport);
    
          $message = new Swift_Message($sub);
          $message->setFrom($fromsend);
          $message->setBody($msg, 'text/html');
          $message->setTo($to);
    
          if ($recipients = $swift->send($message, $failures))
          {
              return 'ok';
          } else {
              echo "There was an error:\n";
              print_r($failures);
              return 'no';
          }
    
          $tha = mail($to, $sub, $msg, $headers);
    
          if(!$tha){
              return 'no';
           } else {
              return 'ok';
          }
       }
    }
    
    return $this->params['sourceIp'] ?? null; 
    
    return $this->params['sourceIp'];