İletişim Formu Problemi (ÇÖZÜLDÜ)

betax

OpenCart-TR
Katılım
25 Ara 2009
Mesajlar
21
Tepkime puanı
0
Puanları
0
Arkadaşlar,

Herkese Merhabalar,

Forumda bir süredir bulunuyorum localde bir kaç çalışmam oldu hem buradaki çözüme ulaşmamış problemleri, hemde karşılaştığım problemleri çözmeye çalışarak hem yardımcı olmaya, hemde herkesin ortak problemlerini gidermek amacı ile birşeyler yapmaya çalıştım.

Forumda arattığımızda karşımıza iletişim formu, gitmeyen mail vs diye o kadar çok konu çıkıyor ve çözümsüz kalmış o kadar çok soru var ki bunlar bir türlü aşılamıyor. Konu çözümlerinden çok tartışmalar vs daha fazla... Çözülmeyen bir problemde durum 'Sunucu ile Alakalı' diyerek ya geçiştiriliyor yada kapatılıyor öncelikle şunu belirtmem gerekir ki çözülmeyen problem üzerine yoğunlaşarak yabancı sitelerin desteği ile 'Sunucu ile Alakalı' diye kapatılan yada belirtilen bir çok problemin basitçe çözüldüğünü burada hepimiz gördük. OpenCart forumunda türkçe topluluğu bile mevcut değil adamlar danca, fince, ispanyolca yada herneyse birlik olup problemlerini çözüyorlar bizim forumda işi görülen arkasını dönüp gidiyor, çözdüğü ve herkesin ortak problemi olan bir konuyu atlayıp ta ki bir daha herhangi bir probremle uğraşana kadar da uğramıyor hatta öyle ki aramızda yöneticiler yetersiz, yok cevap vermiyorsunuz vs diye yakınmalara bile şahit oldum. Ücretsiz destek aldığın bir sistemden hiç bir emeğin olmadan bedava aldığın bilgiyi kullanıyorsan karşılığında sende paylaşmalısın doğru olanda bu diye tahmin ediyorum.

Herneyse çok küçük iki satır yazacaktım gerçekten konulara baktıkça sıkıldım ve yazmak istedim.

Herkesin ortak bir problemi mevcut 'İletişim formu' mailler gitti görünüyor fakat herhangi bir posta düşmüyor bu konuyla ilgili olarak verilen cevaplar ;

1- SMTP ayarlarını doğru yaptınız mı? ( SMTP Ayarları doğru yapılmasa kullanıcı maili, uyarı maili, newsletter maili vs gelmeyeceği için doğru yapılmıştır diye tahmin ediyorum.)

2- Sunucu ile alakalı! ( Bu çok basit bir cevap, sunucu ile alakalı olsa diğer üyelik, uyarı vb maillerde gitmez.)

Benzeri bir çok cevap var.

Boş mailler, görünmeyen resimler, thunderbird, outlook vb uygulamalarda maillerin görünmesi, türkçe karakter vb konularla ilgili olarak şurada bir makale yazdım. OC 1.4.9.4 için ve mükemmel çalışıyor.

İletişim formuna gelince neden ve nasıl çalıştığını bir türlü çözemedim bütün dosyaları didik didik ettim,i herşey olması gerektiği gibi.

Gelin birlikte bu problemi ortadan kaldıralım, bu problemi aşan arkadaşlar detayları ile birlikte tecrübeleri burada paylaşsınlar, yeni başlayan yada konu hakkında daha az tecrübesi olan arkadaşlara da yardımcı olalım ama lütfen önce şu problemi ortadan kaldıralım.

Forum yöneticileri de forumda çözüme ulaşmış ve kapatılmış konulardan bir bölüm oluştursalar ve daha fazla yeni konu açılmasa imdat, acil yardım vs gibi :)

İletişim formu ile ilgili olarak, görüş, çözüm ve önerilerinizi bekliyorum.

İlginiz için şimdiden teşekkür ederim.
Betax
 

TECHNOLOG

OpenCart-TR
Katılım
4 May 2010
Mesajlar
641
Tepkime puanı
0
Puanları
0
Yaş
37
Konum
Peygamberler Şehri
Web sitesi
www.edessaweb.com
RE: İletişim Formu Problemi

Merhaba betax kardeşim.
benim de 2 sitemde aynı sorunlar mevcuttu. ama sadece iletişim formu değil, ne siparişler gidiyordu, ne yeni üye kaydında ne de şifremi unuttum kısmında kullanıcıya mail gitmiyordu. urfacarsilari.com için geçici bir çözüm buldum.

Urfacarsilari.com için
1. Sitemin normal versiyonu 1.4.9.5. ben sadece bir kaç dosyayı 1.4.9 versinunun system/library/mail.php dosyasını ve controller/information klasöründeki contact.php ile tema klasöründeki contact.tpl dosyalarını değiştirdim.
2. giden protokolü smtp değil de phpmail yaptığımda gidiyordu.

gelelim store.edessaweb.com'a hangi yöntemi denediysem,
1. urfacarsilari.com da yazdığım aynı dosya değiştirme yöntemini denedim olmadı.
2. smtp değil de php mail yaptım olmadı (hosting firmam sitemin yer aldığı sunucunun phpmail desteklemediğini ileri sürdü ki zaten php mail de olmamıştı).
3. hosting firmamın direktifleri ile hangi yöntemi denediysem olmadı.
4. sitemin ftp sine farklı bir script attım yine olmadı.
5. mail protokollerini daima smtp mail yaptım. sunucu ayarlarını hosting firmanın verdiği şekilde yaptım. olmadı
6. en son siteme farklı bir sitemin sunucu ayarlarını, mail adresini, şifresini vs. kaydettiğimde mail gidiyordu. ama bu defa da bir şey daha vardı. mailler normalde destek@siteadi.com a gitmesi gerekirken. info@edessaweb.com a gitmişti. bunun sebebini araştırdığımda opencartın ilk kurarken hani bir mail adresi ekliyoruz ya o kısımda info@edessaweb.com yazıyordu. yine farklı bir mail sunucu ayarıyla bu defa kendi msn adresimi yazdım. mailler bu defa da msn adresime gidiyordu. :)

bu şekilde sitemin mail ayarlarından farklı bir ayar eklediğimde iletişim kısmındaki mailler, yeni üye kayıtları ile gönderilen mailler, şifremi unuttum, ürün siparişi gibi mailler sorunsuz gönderiliyor :)

sonuç olarak her ne kadar forumda arkadaşlarımız size göre lafı kestirip atsa da sunucu problemi desede %99 haklılar. çünkü 2 haftadır bu konuyu araştırıyorum. ve diğer sitelerimde herşey normal ama store.edessaweb.com adlı sitemde mail gönderemiyorum.

not: urfacarsilari.com için kullandığım yöntemde değiştirdiğim dosyalar
1.4.9 versinundaki
system/library/mail.php
catalog/controller/information/contact.php
catalog/vire/theme/temanız/template/information/contact.tpl dosyaları idi. bu şekilde değiştirdiğimde tüm mail sistemi çalıştı. sizde isterseniz deneyebilirsiniz. ama önce yedeğinizi almanızı tavsiye ederim.
 

betax

OpenCart-TR
Katılım
25 Ara 2009
Mesajlar
21
Tepkime puanı
0
Puanları
0
RE: İletişim Formu Problemi

Merhabalar,

Technolog,

Belirttiğin işlemi yani urfacarsilari.com için gerçekleştirdiğin işlemi denedim fakat malesef çalışmadı. (PhpMail zaten hiçbir şekilde çalışmıyor tek yol SMTP)

Anlattığın ikinci yolu bir daha açıklarsan sevinirim tam olarak anlayamadım.
a sitendeki sunucu ayarlarını b sitendeki sunucu ayarları ile değiştirdin ve sonuç aldın sanırım ?

İlgin için teşekkür ederim, ben de alternatif çözümler araştırmaya devam ediyorum.
Yine de belirttiğin ikinci yolu detaylı açıklarsan belki biraz geliştirip mutlak çözüm yaratabiliriz.
 

TECHNOLOG

OpenCart-TR
Katılım
4 May 2010
Mesajlar
641
Tepkime puanı
0
Puanları
0
Yaş
37
Konum
Peygamberler Şehri
Web sitesi
www.edessaweb.com
RE: İletişim Formu Problemi

Merhaba betax şöyle belirteyim yaptığım yolu
2 tane sitemiz var x ve z siteleri
x sitesinde her şey normal ve opencart yazılımı yok içinde.
z sitemiz ise opencart alt yapılı bir site

ben x sitesindeki mail ayarlarını z sitesine ekledim bunlar

mail protokolü smtp mail
sunucu adresi mail.x.com
kullanıcı adı isim@x.com
şifre *****
port numarası 587
zaman aşımı 5

bu ayarların aynısını z sitesine ekledim. ve sorunsuz çalıştı. üstüne üstlük ikisi de aynı firmaya ait. fakat x sitesinin ki windows z sitesininki sözde yüksek performanslı bir linux hostingi.

şöyle bir durum daha oldu atıyorum yine z sitesinin sunucularında barındırılan aynı bi site daha var bunun adı da s sitesi olsun. s sitesi de yine opencart altyapılı ve mail sorunu var. çünkü s ve z siteleri aynı sunucuda.

bu s sitesinin mail ayarlarını z sitesine ekledim çalışmadı çalışmadı. çünkü ikiside aynı fiziksel sunucudaydı.çalışmaması normaldi.

diğer mesajında da yazdım sunucu kaynaklı olduğunu belirttim bana dönüş mesajları aynen şu şekilde.

"Sunucudaki php mail sorunu ile ilgili bu hafta içerisinde çözüm bulunacaktır.
Gerekli düzenleme yapıldığında eski ayarlarınızla mail gönderebiliyor olacaksınız.
Aksaklık için özür dileriz."

1 haftadır uğraşıyordum sorun sunucu kaynaklıymış.
 

betax

OpenCart-TR
Katılım
25 Ara 2009
Mesajlar
21
Tepkime puanı
0
Puanları
0
RE: İletişim Formu Problemi

Ve işte çözüm!!!

Arkadaşlar inanın beynim dönüyor şu an, bütün sürümlerin dosyalarını karşılaştırdım!
Mail.php, Contact.php bütün dosyaları tek okuyarak zor ve heyecanlı saatler yaşadım diyebilirim.

Sonunda çözdüm!!!

Buyrun deneyin hep birlikte kullanalım ve artık 'İletişim formu çalışmıyor' mesajlarına bir son verelim :)

Öncelikle :

Açalım:
/catalog/controller/information/contact.php

Bul:
Code:
$mail->setFrom($this->request->post['email']);

Değiştirelim:
Code:
$mail->setFrom($this->config->get('config_email'));

Bul
Code:
$mail->setText(strip_tags(html_entity_decode($this->request->post['enquiry'], ENT_QUOTES, 'UTF-8')));
Değiştirelim:

Code:
$mail->setText(strip_tags('Email from: ' . $this->request->post['email'] . "\r\n" .html_entity_decode($this->request->post['enquiry'], ENT_QUOTES, 'UTF-8')));

ve sorunu çözmüş oldum.

Teşekkürler,
Betax
 

TECHNOLOG

OpenCart-TR
Katılım
4 May 2010
Mesajlar
641
Tepkime puanı
0
Puanları
0
Yaş
37
Konum
Peygamberler Şehri
Web sitesi
www.edessaweb.com
bu yapyığınız yöntem sadece iletişim formu için ya diğer şifremi unuttum, sipariş maili, yeni üye kaydı vs mailleri ne olacak?

--- malesef yukarıda yazdığın yöntemi denedim çalışmadı.
 

betax

OpenCart-TR
Katılım
25 Ara 2009
Mesajlar
21
Tepkime puanı
0
Puanları
0
TECHNOLOG' Alıntı:
bu yapyığınız yöntem sadece iletişim formu için ya diğer şifremi unuttum, sipariş maili, yeni üye kaydı vs mailleri ne olacak?

Onu da çözdüm Technolog

http://forum.opencart-tr.com/thread-4512.html

Bu linkteki talimatları uygularsanız kullanıcı mailleri, yeni üyelik, sipariş formu, maillerdeki resimleri, toplu mail gönderme, türkçe karakter, thunderbird, outlook, outlook express gibi fonksiyonların tamamını fixleyebilirsiniz.
 

TECHNOLOG

OpenCart-TR
Katılım
4 May 2010
Mesajlar
641
Tepkime puanı
0
Puanları
0
Yaş
37
Konum
Peygamberler Şehri
Web sitesi
www.edessaweb.com
bunu da denemiştim. ancak yine olmamıştı. http://forum.opencart-tr.com/thread-4519-post-23224.html#pid23224 bu mesajımda belirttiğim gibi benimki sunucu kaynaklı galiba. :(
 

betax

OpenCart-TR
Katılım
25 Ara 2009
Mesajlar
21
Tepkime puanı
0
Puanları
0
TECHNOLOG' Alıntı:
bu yapyığınız yöntem sadece iletişim formu için ya diğer şifremi unuttum, sipariş maili, yeni üye kaydı vs mailleri ne olacak?

--- malesef yukarıda yazdığın yöntemi denedim çalışmadı.

Kullandığınız sürüm nedir?

Contact. php :
Kod:
<?php 
class ControllerInformationContact extends Controller {
	private $error = array(); 
	    
  	public function index() {
		$this->language->load('information/contact');

    	$this->document->title = $this->language->get('heading_title');  
	 
    	if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {
			$mail = new Mail();
			$mail->protocol = $this->config->get('config_mail_protocol');
			$mail->parameter = $this->config->get('config_mail_parameter');
			$mail->hostname = $this->config->get('config_smtp_host');
			$mail->username = $this->config->get('config_smtp_username');
			$mail->password = $this->config->get('config_smtp_password');
			$mail->port = $this->config->get('config_smtp_port');
			$mail->timeout = $this->config->get('config_smtp_timeout');				
			$mail->setTo($this->config->get('config_email'));
	  		$mail->setFrom($this->config->get('config_email'));
	  		$mail->setSender($this->request->post['name']);
	  		$mail->setSubject(sprintf($this->language->get('email_subject'), $this->request->post['name']));
	  		$mail->setText(strip_tags('Email from: ' . $this->request->post['email'] . "\r\n" .html_entity_decode($this->request->post['enquiry'], ENT_QUOTES, 'UTF-8'))); 
      		$mail->send();

	  		$this->redirect(HTTPS_SERVER . 'index.php?route=information/contact/success');
    	}

      	$this->document->breadcrumbs = array();

      	$this->document->breadcrumbs[] = array(
        	'href'      => HTTP_SERVER . 'index.php?route=common/home',
        	'text'      => $this->language->get('text_home'),
        	'separator' => FALSE
      	);

      	$this->document->breadcrumbs[] = array(
        	'href'      => HTTP_SERVER . 'index.php?route=information/contact',
        	'text'      => $this->language->get('heading_title'),
        	'separator' => $this->language->get('text_separator')
      	);	
			
    	$this->data['heading_title'] = $this->language->get('heading_title');

    	$this->data['text_address'] = $this->language->get('text_address');
    	$this->data['text_telephone'] = $this->language->get('text_telephone');
    	$this->data['text_fax'] = $this->language->get('text_fax');

    	$this->data['entry_name'] = $this->language->get('entry_name');
    	$this->data['entry_email'] = $this->language->get('entry_email');
    	$this->data['entry_enquiry'] = $this->language->get('entry_enquiry');
		$this->data['entry_captcha'] = $this->language->get('entry_captcha');

		if (isset($this->error['name'])) {
    		$this->data['error_name'] = $this->error['name'];
		} else {
			$this->data['error_name'] = '';
		}
		
		if (isset($this->error['email'])) {
			$this->data['error_email'] = $this->error['email'];
		} else {
			$this->data['error_email'] = '';
		}		
		
		if (isset($this->error['enquiry'])) {
			$this->data['error_enquiry'] = $this->error['enquiry'];
		} else {
			$this->data['error_enquiry'] = '';
		}		
		
 		if (isset($this->error['captcha'])) {
			$this->data['error_captcha'] = $this->error['captcha'];
		} else {
			$this->data['error_captcha'] = '';
		}	

    	$this->data['button_continue'] = $this->language->get('button_continue');
    
		$this->data['action'] = HTTP_SERVER . 'index.php?route=information/contact';
		$this->data['store'] = $this->config->get('config_name');
    	$this->data['address'] = nl2br($this->config->get('config_address'));
    	$this->data['telephone'] = $this->config->get('config_telephone');
    	$this->data['fax'] = $this->config->get('config_fax');
    	
		if (isset($this->request->post['name'])) {
			$this->data['name'] = $this->request->post['name'];
		} else {
			$this->data['name'] = '';
		}

		if (isset($this->request->post['email'])) {
			$this->data['email'] = $this->request->post['email'];
		} else {
			$this->data['email'] = '';
		}
		
		if (isset($this->request->post['enquiry'])) {
			$this->data['enquiry'] = $this->request->post['enquiry'];
		} else {
			$this->data['enquiry'] = '';
		}
		
		if (isset($this->request->post['captcha'])) {
			$this->data['captcha'] = $this->request->post['captcha'];
		} else {
			$this->data['captcha'] = '';
		}		
	
		if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/information/contact.tpl')) {
			$this->template = $this->config->get('config_template') . '/template/information/contact.tpl';
		} else {
			$this->template = 'default/template/information/contact.tpl';
		}
		
		$this->children = array(
			'common/column_right',
			'common/footer',
			'common/column_left',
			'common/header'
		);
		
 		$this->response->setOutput($this->render(TRUE), $this->config->get('config_compression'));		
  	}

  	public function success() {
		$this->language->load('information/contact');

		$this->document->title = $this->language->get('heading_title'); 

      	$this->document->breadcrumbs = array();

      	$this->document->breadcrumbs[] = array(
        	'href'      => HTTP_SERVER . 'index.php?route=common/home',
        	'text'      => $this->language->get('text_home'),
        	'separator' => FALSE
      	);

      	$this->document->breadcrumbs[] = array(
        	'href'      => HTTP_SERVER . 'index.php?route=information/contact',
        	'text'      => $this->language->get('heading_title'),
        	'separator' => $this->language->get('text_separator')
      	);	
		
    	$this->data['heading_title'] = $this->language->get('heading_title');

    	$this->data['text_message'] = $this->language->get('text_message');

    	$this->data['button_continue'] = $this->language->get('button_continue');

    	$this->data['continue'] = HTTP_SERVER . 'index.php?route=common/home';

		if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/common/success.tpl')) {
			$this->template = $this->config->get('config_template') . '/template/common/success.tpl';
		} else {
			$this->template = 'default/template/common/success.tpl';
		}
		
		$this->children = array(
			'common/column_right',
			'common/footer',
			'common/column_left',
			'common/header'
		);
		
 		$this->response->setOutput($this->render(TRUE), $this->config->get('config_compression')); 
	}

	public function captcha() {
		$this->load->library('captcha');
		
		$captcha = new Captcha();
		
		$this->session->data['captcha'] = $captcha->getCode();
		
		$captcha->showImage();
	}
	
  	private function validate() {
    	if ((strlen(utf8_decode($this->request->post['name'])) < 3) || (strlen(utf8_decode($this->request->post['name'])) > 32)) {
      		$this->error['name'] = $this->language->get('error_name');
    	}

    	if (!preg_match(EMAIL_PATTERN, $this->request->post['email'])) {
      		$this->error['email'] = $this->language->get('error_email');
    	}

    	if ((strlen(utf8_decode($this->request->post['enquiry'])) < 10) || (strlen(utf8_decode($this->request->post['enquiry'])) > 3000)) {
      		$this->error['enquiry'] = $this->language->get('error_enquiry');
    	}

    	if (!isset($this->session->data['captcha']) || ($this->session->data['captcha'] != $this->request->post['captcha'])) {
      		$this->error['captcha'] = $this->language->get('error_captcha');
    	}
		
		if (!$this->error) {
	  		return TRUE;
		} else {
	  		return FALSE;
		}  	  
  	}
}
?>

Mail.php :

Kod:
<?php
final class Mail {
	protected $to;
	protected $from;
	protected $sender;
	protected $subject;
	protected $text;
	protected $html;
	protected $attachments = array();
	public $protocol = 'mail';
	public $hostname;
	public $username;
	public $password;
	public $port = 25;
	public $timeout = 5;
	public $newline = "\n";
	public $crlf = "\r\n";
	public $verp = FALSE;
	public $parameter = '';

	public function setTo($to) {
		$this->to = $to;
	}

	public function setFrom($from) {
		$this->from = $from;
	}

	public function addheader($header, $value) {
		$this->headers[$header] = $value;
	}

	public function setSender($sender) {
		$this->sender = html_entity_decode($sender);
	}

 public function setSubject($subject) {
      $this->subject = '=?UTF-8?B?' . base64_encode($subject) . '?=';
   }

	public function setText($text) {
		$this->text = $text;
		

		
		

	}

	public function setHtml($html) {
		$this->html = $html;
	}

	public function addAttachment($file, $filename = '') {
		if (!$filename) {
			$filename = basename($file);
		}

		$this->attachments[] = array(
			'filename' => $filename,
			'file'     => $file
		);
	}

	public function send() {
		if (!$this->to) {
			exit('Error: E-Mail to required!');
		}

		if (!$this->from) {
			exit('Error: E-Mail from required!');
		}

		if (!$this->sender) {
			exit('Error: E-Mail sender required!');
		}

		if (!$this->subject) {
			exit('Error: E-Mail subject required!');
		}

		if ((!$this->text) && (!$this->html)) {
			exit('Error: E-Mail message required!');
		}

		if (is_array($this->to)) {
			$to = implode(',', $this->to);
		} else {
			$to = $this->to;
		}

		$boundary = '----=_NextPart_' . md5(time());

		$header = '';

		if ($this->protocol != 'mail') {
			$header .= 'To: ' . $to . $this->newline;
			$header .= 'Subject: ' . $this->subject . $this->newline;
		}
		
		$header .= 'Date: ' . date("D, d M Y H:i:s O") . $this->newline;
		//$header .= 'From: "' . $this->sender . '" <' . $this->from . '>' . $this->newline;
		//$header .= 'From: ' . $this->sender . '<' . $this->from . '>' . $this->newline;
		$header .= 'From: ' . '=?UTF-8?B?'.base64_encode($this->sender).'?=' . '<' . $this->from . '>' . $this->newline;
		$header .= 'Reply-To: ' . $this->sender . '<' . $this->from . '>' . $this->newline;
		$header .= 'Return-Path: ' . $this->from . $this->newline;
		$header .= 'X-Mailer: PHP/' . phpversion() . $this->newline;
		$header .= 'MIME-Version: 1.0' . $this->newline;
		$header .= 'Content-Type: multipart/mixed; boundary="' . $boundary . '"' . $this->newline;
		$header .= 'Content-Transfer-Encoding: 8bit' . $this->newline;		
		$header .= $this->newline; 

		if (!$this->html) {
			$message  = '--' . $boundary . $this->newline;
			$message .= 'Content-Type: text/plain; charset="utf-8"' . $this->newline;
			$message .= 'Content-Transfer-Encoding: 8bit' . $this->newline . $this->newline;
			$message .= $this->text . $this->newline;
		} else {
			$message  = '--' . $boundary . $this->newline;
			$message .= 'Content-Type: multipart/alternative; boundary="' . $boundary . '_alt"' . $this->newline . $this->newline;
			$message .= '--' . $boundary . '_alt' . $this->newline;
			$message .= '' . $this->newline;
			$message .= '' . $this->newline;

			if ($this->text) {
				$message .= $this->text . $this->newline;
			} else {
				$message .= '' . $this->newline;
			}

			$message .= '--' . $boundary . '_alt' . $this->newline;
			$message .= 'Content-Type: text/html; charset="utf-8"' . $this->newline;
			$message .= 'Content-Transfer-Encoding: 8bit' . $this->newline . $this->newline;
			$message .= $this->html . $this->newline;
			$message .= '--' . $boundary . '_alt--' . $this->newline;
		}

foreach ($this->attachments as $attachment) { 
         if (file_exists($attachment['file'])) {
            $handle = fopen($attachment['file'], 'r');
            $content = fread($handle, filesize($attachment['file']));
      
            fclose($handle); 
      
            $message .= '--' . $boundary . $this->newline;
            $message .= 'Content-Type: application/octetstream' . $this->newline;   
            $message .= 'Content-Transfer-Encoding: base64' . $this->newline;
            $message .= 'Content-Disposition: attachment; filename="' . basename($attachment['filename']) . '"' . $this->newline;
            $message .= 'Content-ID: <' . basename($attachment['filename']) . '>' . $this->newline . $this->newline;
            $message .= chunk_split(base64_encode($content));
         }
      }

		$message .= '--' . $boundary . '--' . $this->newline;

		if ($this->protocol == 'mail') {
			ini_set('sendmail_from', $this->from);

			if ($this->parameter) {
				mail($to, '=?UTF-8?B?'.base64_encode($this->subject).'?=', $message, $header, $this->parameter);
			} else {
				mail($to, '=?UTF-8?B?'.base64_encode($this->subject).'?=', $message, $header);
			}

		} elseif ($this->protocol == 'smtp') {
			$handle = fsockopen($this->hostname, $this->port, $errno, $errstr, $this->timeout);

			if (!$handle) {
				error_log('Error: ' . $errstr . ' (' . $errno . ')');
			} else {
				if (substr(PHP_OS, 0, 3) != 'WIN') {
					socket_set_timeout($handle, $this->timeout, 0);
				}

				while ($line = fgets($handle, 515)) {
					if (substr($line, 3, 1) == ' ') {
						break;
					}
				}

				if (substr($this->hostname, 0, 3) == 'tls') {
					fputs($handle, 'STARTTLS' . $this->crlf);

					while ($line = fgets($handle, 515)) {
						$reply .= $line;

						if (substr($line, 3, 1) == ' ') {
							break;
						}
					}

					if (substr($reply, 0, 3) != 220) {
						error_log('Error: STARTTLS not accepted from server!');
					}
				}

				if (!empty($this->username)  && !empty($this->password)) {
					fputs($handle, 'EHLO ' . getenv('SERVER_NAME') . $this->crlf);

					$reply = '';

					while ($line = fgets($handle, 515)) {
						$reply .= $line;

						if (substr($line, 3, 1) == ' ') {
							break;
						}
					}

					if (substr($reply, 0, 3) != 250) {
						error_log('Error: EHLO not accepted from server!');
					}

					fputs($handle, 'AUTH LOGIN' . $this->crlf);

					$reply = '';

					while ($line = fgets($handle, 515)) {
						$reply .= $line;

						if (substr($line, 3, 1) == ' ') {
							break;
						}
					}

					if (substr($reply, 0, 3) != 334) {
						error_log('Error: AUTH LOGIN not accepted from server!');
					}

					fputs($handle, base64_encode($this->username) . $this->crlf);

					$reply = '';

					while ($line = fgets($handle, 515)) {
						$reply .= $line;

						if (substr($line, 3, 1) == ' ') {
							break;
						}
					}

					if (substr($reply, 0, 3) != 334) {
						error_log('Error: Username not accepted from server!');
					}

					fputs($handle, base64_encode($this->password) . $this->crlf);

					$reply = '';

					while ($line = fgets($handle, 515)) {
						$reply .= $line;

						if (substr($line, 3, 1) == ' ') {
							break;
						}
					}

					if (substr($reply, 0, 3) != 235) {
						error_log('Error: Password not accepted from server!');
					}
				} else {
					fputs($handle, 'HELO ' . getenv('SERVER_NAME') . $this->crlf);

					$reply = '';

					while ($line = fgets($handle, 515)) {
						$reply .= $line;

						if (substr($line, 3, 1) == ' ') {
							break;
						}
					}

					if (substr($reply, 0, 3) != 250) {
						error_log('Error: HELO not accepted from server!');
					}
				}

				if ($this->verp) {
					fputs($handle, 'MAIL FROM: <' . $this->from . '>XVERP' . $this->crlf);
				} else {
					fputs($handle, 'MAIL FROM: <' . $this->from . '>' . $this->crlf);
				}

				$reply = '';

				while ($line = fgets($handle, 515)) {
					$reply .= $line;

					if (substr($line, 3, 1) == ' ') {
						break;
					}
				}

				if (substr($reply, 0, 3) != 250) {
					error_log('Error: MAIL FROM not accepted from server!');
				}

				if (!is_array($this->to)) {
					fputs($handle, 'RCPT TO: <' . $this->to . '>' . $this->crlf);

					$reply = '';

					while ($line = fgets($handle, 515)) {
						$reply .= $line;

						if (substr($line, 3, 1) == ' ') {
							break;
						}
					}

					if ((substr($reply, 0, 3) != 250) && (substr($reply, 0, 3) != 251)) {
						error_log('Error: RCPT TO not accepted from server!');
					}
				} else {
					foreach ($this->to as $recipient) {
						fputs($handle, 'RCPT TO: <' . $recipient . '>' . $this->crlf);

						$reply = '';

						while ($line = fgets($handle, 515)) {
							$reply .= $line;

							if (substr($line, 3, 1) == ' ') {
								break;
							}
						}

						if ((substr($reply, 0, 3) != 250) && (substr($reply, 0, 3) != 251)) {
							error_log('Error: RCPT TO not accepted from server!');
						}
					}
				}

				fputs($handle, 'DATA' . $this->crlf);

				$reply = '';

				while ($line = fgets($handle, 515)) {
					$reply .= $line;

					if (substr($line, 3, 1) == ' ') {
						break;
					}
				}

				if (substr($reply, 0, 3) != 354) {
					error_log('Error: DATA not accepted from server!');
				}

				fputs($handle, $header . $message . $this->crlf);
				fputs($handle, '.' . $this->crlf);

				$reply = '';

				while ($line = fgets($handle, 515)) {
					$reply .= $line;

					if (substr($line, 3, 1) == ' ') {
						break;
					}
				}

				if (substr($reply, 0, 3) != 250) {
					error_log('Error: DATA not accepted from server!');
				}

				fputs($handle, 'QUIT' . $this->crlf);

				$reply = '';

				while ($line = fgets($handle, 515)) {
					$reply .= $line;

					if (substr($line, 3, 1) == ' ') {
						break;
					}
				}

				if (substr($reply, 0, 3) != 221) {
					error_log('Error: QUIT not accepted from server!');
				}

				fclose($handle);
			}
		}
	}
}
?>


Mail.php ve Contact.php dosyaları mevcut haliyle bunlar sürüm OC 1.4.9.4 bu dosyalar ile dener misiniz?

TECHNOLOG' Alıntı:
bunu da denemiştim. ancak yine olmamıştı. http://forum.opencart-tr.com/thread-4519-post-23224.html#pid23224 bu mesajımda belirttiğim gibi benimki sunucu kaynaklı galiba. :(

Sunucu ile alakalı olduğunu sanmıyorum, sunucunuz ile görüşmüşsünüz ve çok fazla değişiklik yaptıysanız bir ihtimal... ama sunucunuz sonuçta linux değil mi? php sürüm notlarını isteyin karşılaştıralım eğer bunlarda doğru ise sunucunuzu sıfırlatıp bu dosyaları tekrar deneyelim bu çözüm Open Cart'ın bütün mail vs gibi problemlerine kesin çözüm.

Size yardımcı olabilirim, mail.php ve contact.php dosyalarını dediğim gibi güncelleyin, sonucu bildirin ona göre plan yapalım.
 

muzorotti

OpenCart-TR
Katılım
28 May 2011
Mesajlar
308
Tepkime puanı
0
Puanları
0
Konum
istanbul
merhaba evet mesajınızın başındada söylediğiniz gibi forumda bende bulamamıştım söylediğiniz değişiklikleri yaptım ve çalıştı çokta iyi oldu elinize sağlık
Version 1.4.9.5

mesaj şu şekilde geliyor iletişim formunu şu şekilde doldurursak
Adı: Veli EFENDİ
E-Posta adresi: aliveli@msn.com
Mesajınız: text text text text

Gelen mesaj
Mesaj başlığı : Veli efendi'den mesajınız var
Email from: aliveli@msn.com
text text text text

aynen bu şekilde geliyor bunun web sayfamızdaki iletişim formundan geldiğini bize anımsatacak anlatacak bir kod daha eklememiz mümkünmü mesela mağaza adımızında geçtiği
 

Loopus066

OpenCart-TR
Katılım
7 May 2011
Mesajlar
35
Tepkime puanı
0
Puanları
0
sizden ricam çözen babayiğit dosyları paylaşsın bizde mutlu olalım kambur oldu bu mail olayı....
 

betax

OpenCart-TR
Katılım
25 Ara 2009
Mesajlar
21
Tepkime puanı
0
Puanları
0
Loopus066' Alıntı:
sizden ricam çözen babayiğit dosyları paylaşsın bizde mutlu olalım kambur oldu bu mail olayı....

Merhabalar,

Loopus066 çözen babayiğit olarak konuyu okumanı tavsiye ederim, çözüm anlatılıyor.

Aynı zamanda http://forum.opencart-tr.com/thread-4512-post-23243.html#pid23243 bu konuya da göz atarsan dosyalar ve iletişim problemlerine de cevap bulabilirsin.



muzorotti' Alıntı:
merhaba evet mesajınızın başındada söylediğiniz gibi forumda bende bulamamıştım söylediğiniz değişiklikleri yaptım ve çalıştı çokta iyi oldu elinize sağlık
Version 1.4.9.5

mesaj şu şekilde geliyor iletişim formunu şu şekilde doldurursak
Adı: Veli EFENDİ
E-Posta adresi: aliveli@msn.com
Mesajınız: text text text text

Gelen mesaj
Mesaj başlığı : Veli efendi'den mesajınız var
Email from: aliveli@msn.com
text text text text

aynen bu şekilde geliyor bunun web sayfamızdaki iletişim formundan geldiğini bize anımsatacak anlatacak bir kod daha eklememiz mümkünmü mesela mağaza adımızında geçtiği

Merhabalar,

Sistemi ve kodu çalıştırabilmenize sevindim. 1.4.9.3, 1.4.9.4 ve 1.4.9.5'de çalışacaktır.

Şimdi üzerinde çalıştığım bir diğer konu iste e-mail template yani ;

1 - İletişim formundan gelen maili belirtecek aynı zamanda kullanıcıya da bir e-mail gönderecek.

2 - Yeni üye kaydı yapıldığında üyeye giden mail detayları, admin'e gelen mail detayları vs gibi...

Şu an üzerinde çalışıyorum aktif olduğunda mutlaka burada paylaşırım.

Veli EFENDİ'de çok iyiymiş :)

İlginize teşekkürler,
 

sertac

OpenCart-TR
Katılım
24 May 2011
Mesajlar
17
Tepkime puanı
0
Puanları
0
cok tesekkürler sayende çözüldü
 

albarakis

OpenCart-TR
Katılım
9 Ara 2010
Mesajlar
3
Tepkime puanı
0
Puanları
0
Ellerinize sağlık iletişim formum düzeldi. Teşekkür ederim.
 

betax

OpenCart-TR
Katılım
25 Ara 2009
Mesajlar
21
Tepkime puanı
0
Puanları
0
Rica ederim, umarım sorun tamamen çözülmüştür.

Kolay gelsin herkese ;)
 

titogonzales

OpenCart-TR
Katılım
29 Eyl 2011
Mesajlar
1
Tepkime puanı
0
Puanları
0
RE: İletişim Formu Problemi

betax' Alıntı:
Ve işte çözüm!!!

Arkadaşlar inanın beynim dönüyor şu an, bütün sürümlerin dosyalarını karşılaştırdım!
Mail.php, Contact.php bütün dosyaları tek okuyarak zor ve heyecanlı saatler yaşadım diyebilirim.

Sonunda çözdüm!!!

Buyrun deneyin hep birlikte kullanalım ve artık 'İletişim formu çalışmıyor' mesajlarına bir son verelim :)

Öncelikle :

Açalım:
/catalog/controller/information/contact.php

Bul:
Code:
$mail->setFrom($this->request->post['email']);

Değiştirelim:
Code:
$mail->setFrom($this->config->get('config_email'));

Bul
Code:
$mail->setText(strip_tags(html_entity_decode($this->request->post['enquiry'], ENT_QUOTES, 'UTF-8')));
Değiştirelim:

Code:
$mail->setText(strip_tags('Email from: ' . $this->request->post['email'] . "\r\n" .html_entity_decode($this->request->post['enquiry'], ENT_QUOTES, 'UTF-8')));

ve sorunu çözmüş oldum.

Teşekkürler,
Betax

HAYIR ÇÖZÜLMEDİ GÖNDERİYOR AMA YAZILAR YOK FORMDA YAZAN ONLAR ÇIKMIYOR MAİLDE
 

nuriahmet

OpenCart-TR
Katılım
5 Eyl 2011
Mesajlar
75
Tepkime puanı
0
Puanları
0
eposta ayarlarını ayarladım ama giden mailler gereksizlerin içine gidiyor sebebi nedir acaba
 

Gökhan TAYLAN

OpenCart-TR
Katılım
14 Tem 2010
Mesajlar
826
Tepkime puanı
0
Puanları
16
Konum
İzmir
Maillerinizin Gereksiz (Spam) Olarak Algılanmasının Sebebi : SPF kaydı – SPF Record on DNS

Olmamasıdır. Sunucu Yetkilisiyle İletişime Geçerek Bilgi Verin. Yardımcı olacaklardır.

Onun Haricinde SPF kaydı oluşturma – Create SPF Record on DNS Olarak Arayabilirsiniz Nette Birçok Bilgi Var.


nuriahmet' Alıntı:
eposta ayarlarını ayarladım ama giden mailler gereksizlerin içine gidiyor sebebi nedir acaba
 

nuriahmet

OpenCart-TR
Katılım
5 Eyl 2011
Mesajlar
75
Tepkime puanı
0
Puanları
0
hocam onu cpaneldenmi oluşturuyoruz yoksa başka bir yerdenmi alıyoruz.
 

kerem999

OpenCart-TR
Katılım
1 Kas 2011
Mesajlar
1
Tepkime puanı
0
Puanları
0
aynı sorun bende var OpenCart 1.5.1.3.1 Türkçe sürümünde mail yollandı gözüküyo yollanmıyor acil yardıma ihtiyacım var , eski sürüm için olan eklenti değişimini yaptım yine aynı .
 
Üst