我无法通过localhost或使用codeigniter在线工作

时间:2015-09-26 17:13:30

标签: php codeigniter

我有联系我表单,我无法向我发送电子邮件。我还是个新手,但我没有看到任何错误。帮助我们。

这是contactform控制器

<?php
class contactform extends CI_Controller {
    public function __construct() {
     parent::__construct();
     $this->load->helper(array('form','url'));
     $this->load->library(array('session', 'form_validation', 'email'));
    }

    function index() {
     //set validation rules
     $this->form_validation->set_rules('name', 'Name', 'trim|required|xss_clean|callback_alpha_space_only');
     $this->form_validation->set_rules('email', 'Emaid ID', 'trim|required|valid_email');
     $this->form_validation->set_rules('subject', 'Subject', 'trim|required|xss_clean');
     $this->form_validation->set_rules('message', 'Message', 'trim|required|xss_clean');

     //run validation on form input
     if ($this->form_validation->run() == FALSE) {
        //validation fails
        //$this->load->view('contact_view');
        $this->load->view('header_view');
        $this->load->view('nav_view');
        $this->load->view('contact_view');
        $this->load->view('footer_view');
     }
     else {
        //get the form data
        $name = $this->input->post('name');
        $from_email = $this->input->post('email');
        $subject = $this->input->post('subject');
        $message = $this->input->post('message');

        //set to_email id to which you want to receive mails
        $to_email = 'mygmail@gmail.com';

        //configure email settings
        $config['protocol'] = 'smtp';
        $config['smtp_host'] = 'ssl://smtp.gmail.com';
        $config['smtp_port'] = '465';
        $config['smtp_user'] = 'mygmail@gmail.com';
        $config['smtp_pass'] = 'mypass';
        $config['mailtype'] = 'html';
        $config['charset'] = 'iso-8859-1';
        $config['wordwrap'] = TRUE;
        $config['newline'] = "\r\n"; //use double quotes
        //$this->load->library('email', $config);
        $this->email->initialize($config);                        

        //send mail
        $this->email->from($from_email, $name);
        $this->email->to($to_email);
        $this->email->subject($subject);
        $this->email->message($message);
        if ($this->email->send())
        {
            // mail sent
            $this->session->set_flashdata('msg','<div class="alert alert-success text-center">Your mail has been sent successfully!</div>');
            redirect('contactform/index');
        }
        else
        {
            //error
            $this->session->set_flashdata('msg','<div class="alert alert-danger text-center">There is error in sending mail! Please try again later</div>');
            redirect('contactform/index');
        }
    }
}

 //custom validation function to accept only alphabets and space input
 function alpha_space_only($str) {
    if (!preg_match("/^[a-zA-Z ]+$/",$str)) {
        $this->form_validation->set_message('alpha_space_only', 'The %s field must contain only alphabets and space');
        return FALSE;
    }
    else {
        return TRUE;
    }
 }
}
?>

这是我的contact_view

 <div class="container">
  <div class="row">
    <div class="col-md-6 col-md-offset-3 well">
        <?php $attributes = array("class" => "form-horizontal", "name" => "contactform");
        echo form_open("contactform/index", $attributes);?>
        <fieldset>
        <legend>Contact Form</legend>
        <div class="form-group">
            <div class="col-md-12">
                <label for="name" class="control-label">Name</label>
            </div>
            <div class="col-md-12">
                <input class="form-control" name="name" placeholder="Your Full Name" type="text" value="<?php echo set_value('name'); ?>" />
                <span class="text-danger"><?php echo form_error('name'); ?></span>
            </div>
        </div>

        <div class="form-group">
            <div class="col-md-12">
                <label for="email" class="control-label">Email ID</label>
            </div>
            <div class="col-md-12">
                <input class="form-control" name="email" placeholder="Your Email ID" type="text" value="<?php echo set_value('email'); ?>" />
                <span class="text-danger"><?php echo form_error('email'); ?></span>
            </div>
        </div>

        <div class="form-group">
            <div class="col-md-12">
                <label for="subject" class="control-label">Subject</label>
            </div>
            <div class="col-md-12">
                <input class="form-control" name="subject" placeholder="Your Subject" type="text" value="<?php echo set_value('subject'); ?>" />
                <span class="text-danger"><?php echo form_error('subject'); ?></span>
            </div>
        </div>

        <div class="form-group">
            <div class="col-md-12">
                <label for="message" class="control-label">Message</label>
            </div>
            <div class="col-md-12">
                <textarea class="form-control" name="message" rows="4" placeholder="Your Message"><?php echo set_value('message'); ?></textarea>
                <span class="text-danger"><?php echo form_error('message'); ?></span>
            </div>
        </div>

        <div class="form-group">
            <div class="col-md-12">
                <input name="submit" type="submit" class="btn btn-primary" value="Send" />
            </div>
        </div>
        </fieldset>
        <?php echo form_close(); ?>
        <?php echo $this->session->flashdata('msg'); ?>
    </div>
</div>

我已经检查了我的代码。但问题是,我不明白为什么它不能发送。我甚至试图将它上传到我的网站,但它仍然不允许我发送电子邮件。

0 个答案:

没有答案