Php codeigniter-电子邮件类-提交后注册

Php codeigniter-电子邮件类-提交后注册,php,forms,codeigniter,email,Php,Forms,Codeigniter,Email,简单提交用户表单电子邮件和保存在数据库中的城市数据,现在,我需要在提交数据后在此表单中添加系统自动生成用户地址的电子邮件,但使用上述变量,我使用一个名为$lang的变量,如果用户输入为ar,则以阿拉伯语发送电子邮件,如果用户输入为en,则以英语发送电子邮件,我面临两个问题,不知道如何在代码中修复此电子邮件类,以获取我共享代码的建议 电子邮件类 public function email() { $email = $this->input->post('email');

简单提交用户表单电子邮件和保存在数据库中的城市数据,现在,我需要在提交数据后在此表单中添加系统自动生成用户地址的电子邮件,但使用上述变量,我使用一个名为
$lang
的变量,如果用户输入为ar,则以阿拉伯语发送电子邮件,如果用户输入为en,则以英语发送电子邮件,我面临两个问题,不知道如何在代码中修复此电子邮件类,以获取我共享代码的建议

电子邮件类

public function email() {
    $email = $this->input->post('email');
    $city = $this->input->post('city');
    $this->load->library('email');
    $this->email->from('noreply@abc.com', 'Halalat');
    $this->email->to('$emai');
    $this->email->subject('Halalat Newsletter Subscription');
    $this->email->message( 'Thankyou for submission' );
    $this->email->send();
    echo $this->email->print_debugger();
}
控制器中的user.php

<?php 

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

class User extends CI_Controller {

    function __construct() {
        parent::__construct();
        $this->load->helper('form');
        $this->load->helper('url');
        $this->load->library('user_agent');
        $this->load->library('form_validation');
    }

    public function create_user() {
        // field name, error message, validation rules
        $lang = $this->input->post("lang");
        $this->form_validation->set_rules('email', 'Email', 'trim|required|valid_email|is_unique[users.email]');        
        $this->form_validation->set_rules('city', 'City', 'trim|required');
        if ($this->form_validation->run() == FALSE) {
            if ($lang == "en") {
                if ($this->agent->is_mobile()) {
                    $this->load->view('m_english_signup');
                } 
                else 
                {
                    $this->load->view('d_english_signup');
                }
                } //if ($this->agent->is_mobile())
            else 
            {
                if ($this->agent->is_mobile()) {
                    $this->load->view('m_arabic_signup');
                } 
                else 
                {
                    $this->load->view('d_arabic_signup');
                }
            }
        } 
        else 
        {
            $this->load->model('Users_model');
            if ($query = $this->Users_model->create_member()) {
                if ($lang == "en") {
                    if ($this->agent->is_mobile()) {
                        $this->load->view('m_english_thanks');
                    } 
                    else 
                    {
                        $this->load->view('d_english_thanks');
                    }
                } 
                else
                {
                    if ($this->agent->is_mobile()) {
                        $this->load->view('m_arabic_thanks');
                    } 
                    else 
                    {
                        $this->load->view('d_arabic_thanks');
                    }
                }
            }
        }
    }

}

将电子邮件发送部分作为控制器中的一项功能:

public function sendUserMail($email)
{
  $this->load->library('email');

$this->email->from('noreply@abc.com', 'Halalat');
$this->email->to('$email'); 

$this->email->subject('Halalat Newsletter Subscription');
$this->email->message('Testing');   
$this->email->attach('/assests/images/photo1.jpg');
$this->email->send();
echo $this->email->print_debugger();
}
在您的操作部分中,在之后添加电子邮件功能调用

if ($query = $this->Users_model->create_member()) {
比如:


我面临两个问题,这两个问题是什么?1-如何实现电子邮件类和在哪里。2-如何使用email类管理两种语言的输入。对于1:参考此@kumar_v非常感谢,我将尝试在代码中学习和实现它。@kumar_v正如您提到的链接,我检查它只指导email类,我的问题仍然是一样的,电子邮件功能已准备就绪,但我想知道我何时提交此功能触发器并向用户发送电子邮件,您知道我如何使用“提交”按钮触发此电子邮件功能。非常感谢您,我在本地服务器上添加了太多内容,因此我在国际服务器上进行了测试,但我需要一些更改,请指导我添加此
$config=Array(‘协议’=>‘smtp’、‘smtp_主机’=>’ssl://smtp.googlemail.com“,”smtp_端口“=>”465“,”smtp_用户“=>”someuser@gmail.com“,”smtp_pass“=>”密码“,”mailtype“=>”html“,”starttls“=>true“,”换行“=>”\r\n”)
那么我在同一个函数中提到的配置设置呢?是的。你可以。但是,电子邮件功能也将在其他一些控制器中使用。因此,只需创建一个
帮助程序
并将此电子邮件功能放在该帮助程序中。自动将此帮助程序加载到你的配置中。这样你就可以在项目中的任何地方使用。我不是一个帮助程序的专家,我在co中非常新deigniter甚至php我也会按照您的指导尝试使用。
您的邮件已使用以下协议成功发送:邮件发件人:“Halalat”返回路径:回复至:fahadvintage@gmail.com“X-Sender:fahadvintage@gmail.comX-Mailer:CodeIgniter X-Priority:3(正常)消息ID:Mime版本:1.0内容类型:text/plain;charset=utf-8内容传输编码:8bit=?utf-8?Q?Halalat_新闻稿_订阅?=测试
不向用户发送电子邮件返回我的电子邮件,但有错误
if ($query = $this->Users_model->create_member()) {
   $this->sendUserMail($this->input->post("email"));