• 03-12-2014, 23:24:20
    #1
    Merhabalar,

    Sitemdeki iletişim formunu doldurduktan sonra mail gitti gözüküyor, fakat tanımlı mail adresine mail gelmiyor. Site Wordpress.

    İlginç olan şu ki 1 hafta önce siteyi yeni sunucuya taşıdım, taşıdıktan sonra mail gelmemeye başladı, önceki hostumda böyle bir sorunum yoktu.

    Eğer hosting firmama birşey söylemem gerekiyorsa ne açıklama yapmam gerekiyor detaylı,

    Ya da kodsal bir sorunsa, iletişim sayfasının kodlarını aşağıda paylaşıyorum. Nerede değişiklik yapmam gerekiyor.

    Yardımcı olabilirseniz çok sevinirim.

    <?php
    /*
    Template Name: Contact Form
    */
    ?>
    
    <?php 
    if(isset($_POST['submitted'])) {
    		if(trim($_POST['contactName']) === '') {
    			$nameError = 'Lütfen Ad / Soyad Girin.';
    			$hasError = true;
    		} else {
    			$name = trim($_POST['contactName']);
    		}
    		
    		if(trim($_POST['email']) === '')  {
    			$emailError = 'Lütfen email adresi girin.';
    			$hasError = true;
    		} else if (!preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/", trim($_POST['email']))) {
    			$emailError = 'Hatalı email adresi girdiniz.';
    			$hasError = true;
    		} else {
    			$email = trim($_POST['email']);
    		}
    			
    		if(trim($_POST['comments']) === '') {
    			$commentError = 'Lütfen mesajınızı girin.';
    			$hasError = true;
    		} else {
    			if(function_exists('stripslashes')) {
    				$comments = stripslashes(trim($_POST['comments']));
    			} else {
    				$comments = trim($_POST['comments']);
    			}
    		}
    			
    		if(!isset($hasError)) {
    			$emailTo = get_option('pinable_email');
    			if (!isset($emailTo) || ($emailTo == '') ){
    				$emailTo = get_option('admin_email');
    			}
    			$subject = '[Contact Form] From '.$name;
    			$body = "Name: $name \n\nEmail: $email \n\nComments: $comments";
    			$headers = 'From: '.$name.' <'.$emailTo.'>' . "\r\n" . 'Reply-To: ' . $email;
    			
    			mail($emailTo, $subject, $body, $headers);
    			$emailSent = true;
    		}
    	
    } ?>
    
    <?php get_header(); ?>
    
    	<div id="content">
    		<h1 class="page-title"><?php the_title(); ?></h1>
    	    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    		    <div <?php post_class() ?> id="post-<?php the_ID(); ?>">
    			<div class="entry-content">
    				<?php the_content(); ?>
    				<?php if(isset($emailSent) && $emailSent == true) { ?>
    				
    	                <div class="thanks">
    	                    <p><?php _e('Teşekkürler, emailiniz başarılı şekilde gönderildi. ', 'junkie') ?></p>
    	                </div><!-- .thanks -->
    	                
    	            <?php } else { ?>
    	
    	                <?php if(isset($hasError) || isset($captchaError)) { ?>
    	                <?php } ?>
    	
    	                <form action="<?php the_permalink(); ?>" id="contact-form" method="post">
    	                    <div class="contact-form">
    	                        <div><label for="contactName"><?php _e('Ad / Soyad:', 'junkie') ?></label>
    	                            <input type="text" name="contactName" id="contactName" value="<?php if(isset($_POST['contactName'])) echo $_POST['contactName'];?>" class="txt required requiredField" />
    	                            <?php if($nameError != '') { ?>
    	                                <span class="error"><?php echo $nameError; ?></span>
    	                            <?php } ?>
    	                        </div>
    	
    	                        <div><label for="email"><?php _e('Email:', 'junkie') ?></label>
    	                            <input type="text" name="email" id="email" value="<?php if(isset($_POST['email']))  echo $_POST['email'];?>" class="txt required requiredField email" />
    	                            <?php if($emailError != '') { ?>
    	                                <span class="error"><?php echo $emailError; ?></span>
    	                            <?php } ?>
    	                        </div>
    	
    	                        <div class="textarea"><label for="commentsText"><?php _e('Mesaj:', 'junkie') ?></label>
    	                            <textarea name="comments" id="commentsText" rows="20" cols="30" class="required requiredField"><?php if(isset($_POST['comments'])) { if(function_exists('stripslashes')) { echo stripslashes($_POST['comments']); } else { echo $_POST['comments']; } } ?></textarea>
    	                            <?php if($commentError != '') { ?>
    	                                <p><span class="error"><?php echo $commentError; ?></span></p>
    	                            <?php } ?>
    	                        </div>
    	
    	                        <div>
    	                            <input type="hidden" name="submitted" id="submitted" value="true" />
    	                            <input name="submit" type="submit" id="submit" class="button" value="<?php _e('Gönder', 'junkie') ?>" />
    	                        </div>
    	                    </div>
    	                </form>
    	            <?php } ?>
    			</div><!-- .entry-content -->
    		</div><!-- #post-<?php the_ID(); ?> -->
    		<?php endwhile; endif; ?>
    		
    	</div><!-- #content -->
    <?php get_sidebar(); ?>   		
    <?php get_footer(); ?>
  • 03-12-2014, 23:33:25
    #2
    sunucu şirketine bildiriniz mail fonksiyonları kapalı olabilir.
  • 03-12-2014, 23:40:19
    #3
    aynısı gelmişti başıma,php mail ile ilgili bir send.php dosyası göndermişti host firmam,onu temanın içine attıktan sonra düzeldi.Hostunuz php mail desteklemiyorsa böyle bir dosya ile uyumlu hale getiriyorlar heralde,bu tarz da birşeyler de sorabilirsiniz.
  • 04-12-2014, 01:27:30
    #4
    wp-smtp-mail eklentisi kurmamı söylediler, ayarları da verdiler, herşeyi ayarladım. Hatta eklentinin testini de yaptım, eklentinin test kısmından mail geliyor,

    ama form sayfasından hala gelmiyor. Acaba koda da smtp ile bir kaç satır mı eklemem gerekiyor
  • 04-12-2014, 08:12:02
    #5
    BurakYTL adlı üyeden alıntı: mesajı görüntüle
    wp-smtp-mail eklentisi kurmamı söylediler, ayarları da verdiler, herşeyi ayarladım. Hatta eklentinin testini de yaptım, eklentinin test kısmından mail geliyor,

    ama form sayfasından hala gelmiyor. Acaba koda da smtp ile bir kaç satır mı eklemem gerekiyor
    smtp ekelntisi ayar kısmına ait ekran görüntüsü koyarsan daha yararlı olur, eksiklik yanlışlık varsa düzeltilirdi
  • 06-12-2014, 23:40:40
    #6
    contact form 7 yükledim bu şekilde oldu, çok teşekkürler herkese