2013-06-06 12 views
5

Denetleyicimi ve iletişim formumu tüm ayarlarımı kurdum. Ancak iletişim sayfamdaki "Gönder" i tıkladığımda hiç hata almıyorum ancak e-posta almadım. Kimse neden e-postayı almadığımı anlamaya yardım edebilir mi? Herhangi bir yardım için minnettarım.CodeIgniter aracılığıyla iletişim formunda bir e-posta nasıl başarılı bir şekilde gönderilir?

<div class="inner-content" id="contact-content"> 

    <title>CSS3 Contact Form</title> 
    <div id="contact"> 
    <h1>Send an email</h1> 
    <form method="post" action="/home/email"> 
     <fieldset> 
     <label for="name">Name:</label> 
     <input name="name" id="name" type="text" placeholder="Enter your full name"> 
     <label for="email">Email:</label> 
     <input name="email" id="email" type="email" placeholder="Enter your email address"> 
     <label for="message">Message:</label> 
     <textarea name="message" id="message" placeholder="Type your message here..."></textarea> 
     <input type="submit" value="Send message"> 
     </fieldset> 
    </form> 
    </div> 
</div> 
+1

İlk önce e-postaları doğru şekilde göndermek için smtp sunucusuna sahip olduğunuzdan emin olun. –

+0

Hata ayıklayıcı nasıl yanar? –

+0

çıkış aynen şudur: Mesajınız başarıyla aşağıdaki protokol kullanılarak gönderildi: postaları From: "Adınız" Dönüş-Yol: Cc: [email protected] Bcc: onları @ their- example.com Yanıtla: "[email protected]" X Gönderen: [email protected] X-Mailer: CodeIgniter X-Öncelik: 3 (Normal) Message-ID: <51b0de09bea00 gd @. com> Mime-Sürümü: 1.0 İçerik Türü: text/plain; charset = utf-8 Content-Transfer-Kodlama: 8bit =? utf-8? Q? Email_Test? = Benim adım isdfdfdf, Bu e-posta sınıfını test ediyorum. E-posta adresim [email protected] Telefon Numaram Bu mesaj benim dfdfdfdfdfsdafsafsdfsfdsfdsfsdf Teşekkürler! –

cevap

1

php.ini dosyada php_openssl.dll etkinleştirmek ve gmail kullanmayı deneyin. Pascal Spruit veya Omade'ın cevabı işe yarayacak. php.ini dosyasında düzenledikten sonra yerel sunucuyu yeniden başlatmayı unutmayın.

0

o

$config['protocol'] = 'sendmail'; 
$config['mailpath'] = '/usr/sbin/sendmail'; 
$config['charset'] = 'iso-8859-1'; 
$config['wordwrap'] = TRUE; 

$this->email->initialize($config); 

deneyin ilk e-posta sınıf yapılandırmayı deneyin yardımcı olursa:

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

class Home extends CI_Controller { 
    public function index() 
    { 
     $this->template->build('home'); 
    } 

    public function email() { 
     $name = $this->input->post('name'); 
     $email = $this->input->post('email'); 
     $phone_number = $this->input->post('phone_number'); 
     $message = $this->input->post('message'); 
     $this->load->library('email'); 
     $this->email->from($email, 'Your Name'); 
     $this->email->to('[email protected]'); 
     $this->email->cc('[email protected]'); 
     $this->email->bcc('[email protected]'); 
     $this->email->subject('Email Test'); 
     $this->email->message(
      'My name is'.$name.', Im testing this email class. My email is '.$email. '. My Phone number is '.$phone_number. 
     ' This is my message '.$message. ' Thanks!!' 
     ); 
     $this->email->send(); 
     echo $this->email->print_debugger(); 
     $this->template->build('home'); 
    } 
} 

Ve burada benim temas sayfa gösterimi için benim kodudur: İşte denetleyicisi için benim kodudur Bu e-posta adresini eklemek için e-posta-göndermek>() işlevine ne olduğunu görmek için (Bu bağlantı, bir kısmı veya tamamı İngilizce olan içeriğe işaret edebilir.

$this->email->send(); hata dizesi sonra echo etmezse

if (! $this->email->send()) 
{ 
    echo 'Some error in sending email'; 
} 

için sorun onun muhtemelen posta sunucusu ile, CI ile değil.

+0

Öneriniz için teşekkürler, ancak herhangi bir çıktı almadım. "Gönder" i tıklattığımda, Firefox sayfası görüntülenir: Belge Süresi doldu Bu belge artık mevcut değil. İstenen belge Firefox'un önbelleğinde mevcut değil. –

+1

gmail'e e-posta göndermeyi deneyin. Bazı sunucular test e-postalarını engelliyor olabilir. –

+0

Bunu gmail'e gönderdim. Hala işe yaramadı. –

0

deneyin kullanarak gmail

$config = Array(
     'protocol' => 'smtp', 
     'smtp_host' => 'ssl://smtp.googlemail.com', 
     'smtp_port' => '465', 
     'smtp_user' => '[email protected]', 
     'smtp_pass' => 'password', 
     'mailtype' => 'html', 
     'starttls' => true, 
     'newline' => "\r\n" 
    ); 

$this->load->library('email', config); 
$this->email->from('[email protected]', 'George'); 
$this->email->to('[email protected]'); 
$this->email->subject('hey this is an email'); 
$this->email->message('this is the content of the email'); 
$this->email->send(); 
echo $this->email->print_debugger(); 
1
$config = Array(
     'protocol' => 'smtp', 
     'smtp_host' => 'ssl://smtp.googlemail.com', 
     'smtp_port' => '465', 
     'smtp_user' => '[email protected]', 
     'smtp_pass' => 'yourpassword', 
     'mailtype' => 'html', 
     'starttls' => true, 
     'newline' => "\r\n" 
    ); 

$this->load->library('email', $config); 
$this->email->from('[email protected]', 'Jodie'); 
$this->email->to('[email protected]'); 
$this->email->subject('testing email'); 
$this->email->message('This shows the email worked'); 
$this->email->send(); 
echo $this->email->print_debugger(); 
0

Ayrıca bu aynı sorun ile sıkışmış ama gmail üzerinde başarılı bir şekilde devam eden bir şey anladım ama sadece e-posta değil gider. $email = $this->input->post('useremail'); gönderirseniz, gmail üzerinde gitmiyorsa

. Bu, posta gönderisini başarıyla gönderir ya da "if" koşuluyla ne geçtiğinizi, ancak posta kutusuna posta gelmediğini gösterir. Ama isim telefon şifresi veya herhangi bir şey gibi bir şey iletirseniz, her şey başarılı olur. E-postada CI veya php'de herhangi bir kısıtlama var mı? Sunucuda html içeriğini başarıyla gönderdiğim için yalnızca e-posta gönderilmiyor. Her şey e-posta dahil ama yerel ana bilgisayar aracılığıyla gönderilen bir şey daha ama ben hostinger web sitem kadar ve her şey ve her şey harika gidiyor sadece e-posta formu,

biri hakkında herhangi bir fikrim varsa İletişim formuna e-posta nasıl dahil edilir, o zaman bilginizi benimle birlikte kesmekten memnuniyet duyarız.

+0

Henüz tam bir çözüm bulamıyorum, ancak kontrol etmek istiyorsanız, $ email = $ this-> input-> post gönderin '); ve ayrıca form mesajı bölümünü kaldırın, daha sonra kontrol edin, e-posta kutunuza posta alıyorum. –

İlgili konular