codeigniter
ईमेल भेज रहा हूं
खोज…
टिप्पणियों
CodeIgniter 3 में आपको पैरामीटर शामिल करना होगा:
$config['newline'] = "\r\n";
यह इसके बिना काम नहीं करेगा।
यदि आप नई लाइनों के बारे में परवाह नहीं करते हैं और आप CodeIgniter 2 का उपयोग कर रहे हैं तो यह कॉन्फ़िगरेशन पैरामीटर वैकल्पिक है।
ईमेल लाइब्रेरी लोड करें
सबसे पहले आपको ईमेल लाइब्रेरी को लोड करना होगा।
ईमेल भेजने वाले कंट्रोलर फ़ाइल में ऐसा करें:
$this->load->library('email');
या इसे कॉन्फ़िगर फ़ोल्डर में autoload.php फ़ाइल में विश्व स्तर पर लोड करें:
$autoload['libraries'] = array('email');
यदि आप वहां हैं, तो आप ईमेल हेल्पर को लोड करना चाह सकते हैं यदि आप कुछ शॉर्टकट्स में निर्मित कोडिनर्जिटर का उपयोग करना चाहते हैं:
$autoload['helper'] = array('email');
ईमेल सहायक को ईमेल लाइब्रेरी में एक समान तरीके से ईमेल हेल्पर को लोड किया जा सकता है:
$this->load->helper('email');
अपना ईमेल कॉन्फ़िगर पैरामीटर सेट करें
ईमेल / एफपीपी नाम के एप्लिकेशन / कॉन्फिग फोल्डर में एक नई फाइल बनाएं
ईमेल भेजने के लिए पैरामीटर सेट करें। जब आप अपना ईमेल भेजेंगे तो ये लोड हो जाएंगे।
$config['newline'] = "\r\n"; //You must use double quotes on this one
$config['protocol'] = 'smtp';
$config['smtp_host'] = 'ssl://smtp.gmail.com'; //Change for your specific needs
$config['smtp_port'] = 465; //Change for your specific needs
$config['smtp_user'] = '[email protected]'; //Change for your specific needs
$config['smtp_pass'] = 'yourpassword'; //Change for your specific needs
$config['charset'] = 'iso-8859-1';
$config['mailtype'] = 'text'; //This can be set as 'html' too
अपना ईमेल बनाएं
$this->email->from('[email protected]', 'Tom Webmaster');
$this->email->to('[email protected]', 'Freddie Fakeperson');
$this->email->subject('Your Account Is Active');
$this->email->message('Welcome to our new site!');
'से' विधि में, पहला पैरामीटर वह ईमेल पता है जिसे आप भेज रहे हैं, दूसरा पैरामीटर वह नाम है जिसे आप रिसीवर को देखना चाहते हैं।
'टू' विधि में, आप परिभाषित करते हैं कि ईमेल किसे भेजा जा रहा है।
'विषय' विधि ईमेल के विषय को परिभाषित करती है।
The संदेश ’विधि यह परिभाषित करती है कि आपके ईमेल के मुख्य भाग में क्या होगा।
इनमें से कोई भी डेटा एक उपयोगकर्ता द्वारा आपकी साइट पर भेजा जा सकता है। तो आपके पास यहां एक चर हो सकता है जो पोस्ट किए गए डेटा रखता है। तो वे इस तरह दिख सकते हैं:
$this->email->to($email, $username);
अपना ईमेल भेजें
$sent = $this->email->send();
//This is optional - but good when you're in a testing environment.
if(isset($sent)){
echo "It sent!";
}else{
echo "It did not send.";
}
एक HTML ईमेल भेजें
लेकिन आप सिर्फ एक सादा पाठ ईमेल नहीं चाहते हैं। आप एक सुंदर HTML ईमेल चाहते हैं।
अपनी कॉन्फिग फ़ाइल को html के रूप में सेट करें:
$config['mailtype'] = 'html';
यदि आप HTML ईमेल में डेटा (उदाहरण के लिए उपयोगकर्ता नाम जैसे) पास करना चाहते हैं, तो उन्हें एक सरणी में रखें:
$data = array('name' => $name,
'email' => $email,
'phone' => $phone,
'date' => $date);
फिर भेजते समय, अपने 'संदेश' को एक दृश्य में इंगित करें। इसके बाद अपना डेटा ऐरे पास करें:
$this->email->message($this->load->view('new_user',$data, true));
आपके एप्लिकेशन / दृश्य फ़ोल्डर में अपना दृश्य बनाएं।
इस मामले में इसे 'new_user.php' नाम दिया गया है।
आप इसे वैसे भी स्टाइल कर सकते हैं। यहाँ एक त्वरित उदाहरण है:
<html>
<head>
<style type='text/css'>
body {background-color: #CCD9F9;
font-family: Verdana, Geneva, sans-serif}
h3 {color:#4C628D}
p {font-weight:bold}
</style>
</head>
<body>
<h3>Hi <?php echo $name;?>,</h3>
<h3>Thanks for contacting us.</h3>
<p>You've taken your first step into a larger world.</p>
<p>We really appreciate your interest.</p>
</body>
</html>
संपर्क करें प्रपत्र
नियंत्रक (Pages.php)
public function contact()
{
$this->load->library('email');
$this->load->library('form_validation');
//Set form validation
$this->form_validation->set_rules('name', 'Name', 'trim|required|min_length[4]|max_length[16]');
$this->form_validation->set_rules('email', 'Email', 'trim|required|valid_email|min_length[6]|max_length[60]');
$this->form_validation->set_rules('message', 'Message', 'trim|required|min_length[12]|max_length[200]');
//Run form validation
if ($this->form_validation->run() === FALSE)
{
$this->load->view('contact');
} 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');
//Web master email
$to_email = '[email protected]'; //Webmaster email, who receive mails
//Mail settings
$config['protocol'] = 'smtp';
$config['smtp_host'] = 'ssl://smtp.gmail.com';
$config['smtp_port'] = '465';
$config['smtp_user'] = '[email protected]'; // Your email address
$config['smtp_pass'] = 'mailpassword'; // Your email account password
$config['mailtype'] = 'html'; // or 'text'
$config['charset'] = 'iso-8859-1';
$config['wordwrap'] = TRUE; //No quotes required
$config['newline'] = "\r\n"; //Double quotes required
$this->email->initialize($config);
//Send mail with data
$this->email->from($from_email, $name);
$this->email->to($to_email);
$this->email->subject($subject);
$this->email->message($message);
if ($this->email->send())
{
$this->session->set_flashdata('msg','<div class="alert alert-success">Mail sent!</div>');
redirect('contact');
} else {
$this->session->set_flashdata('msg','<div class="alert alert-danger">Problem in sending</div>');
$this->load->view('contact');
}
}
दृश्य (contact.php)
<div class="container">
<h2>Contact</h2>
<div class="row">
<div class="col-lg-6">
<?php echo $this->session->flashdata('msg'); ?>
<form action="<?php echo base_url('contact'); ?>" method="post">
<div class="form-group">
<input name="name" placeholder="Your name" type="text" value="<?php echo set_value('name'); ?>" class="form-control" />
<?php echo form_error('name', '<span class="text-danger">','</span>'); ?>
</div>
<div class="form-group">
<input name="email" placeholder="Your e-mail" type="text" value="<?php echo set_value('email'); ?>" class="form-control" />
<?php echo form_error('email', '<span class="text-danger">','</span>'); ?>
</div>
<div class="form-group">
<input name="subject" placeholder="Subject" type="text" value="<?php echo set_value('subject'); ?>" class="form-control" />
</div>
<div class="form-group">
<textarea name="message" rows="4" class="form-control" placeholder="Your message"><?php echo set_value('message'); ?></textarea>
<?php echo form_error('message', '<span class="text-danger">','</span>'); ?>
</div>
<button name="submit" type="submit" class="btn btn-primary" />Send</button>
</form>
</div>
</div>