Post by apatiu » Sun Jul 22, 2012 2:17 am

ผมพยายามค้นหาแล้ว แต่ไม่พบทางแก้เลยครับ

ผมถ้าผมตั้งเมล์เป็น php เว้บทำงานเหมือนส่งได้เรียบร้อยหมด แต่ไม่มีใครได้รับเมล์เลย

ผมจึงตั้งอเป็น smtp แล้วมีอาการดังนี้
1. ในแอดมิน Sale/mail ส่งได้หมดไม่มีปัญหา
2. เมื่อลูกค้าสั่งซื้อสินค้า มีเมล์มาที่ admin แต่ลูกค้าจะไม่ได้รับเมล์ใบสั่งสินค้า
3. เมื่อลองอัพเดทใบสั่งซื้อของลูกค้า แล้วสั่งให้ส่ง notifier ให้ลูกค้าด้วย ลูกค้าก็ไม่ได้รับ
4. ลองใช้ฟอร์ม contact us ก็ขึ้น Notice: Error: MAIL FROM not accepted from server! in /home/thaibbpro/public_html/shop/system/library/mail.php on line 290

ใครรู้วิธีแก้รบกวนด้วยนะครับผม ขอบคุณครับ

Newbie

Posts

Joined
Fri Jul 20, 2012 11:58 pm

Post by Tomz » Wed Aug 01, 2012 5:17 pm

ผมว่าน่าจะเกี่ยวกับพวก permission ในการส่ง mail นะครับ ลองดูว่า mail from เป็นการส่งจาก email address อะไร

Newbie

Posts

Joined
Wed Aug 01, 2012 4:58 pm

Post by birdamon » Thu Aug 23, 2012 5:43 am

smtp มีปัญหา กับหน้า contact us ตรงที่ว่า เวลา submit แล้วมันจะเอา email ของลูกค้ามาใช้เป็น sender
ซึ่งระบบมา login กับ smtp ของเราที่เราตั้งเอาไว้ซึ่งมันจะ มีได้ไง ???

ขอเสนอวิธีแก้เบื้องต้น เราไปเซ็ต sender เป็น email เราเลยเพื่อให้ login เข้า smtpได้ แล้วก็ส่งหาตัวเอง ฮาร์ดโค๊ดเลยครับ
แล้วเอาemail จากฟอร์มหน้า contact us มายัดใส่ในเนื้อหาของอีเมล์แทน เท่านี้ก็พอใช้งานได้ครับ

แต่ถ้าเลือกแบบ Php mail จะไม่มีปัญหา แต่จะมีปัญหาเมลส่งช้า หากใช้กับโฮสต์ราคาถูกที่แชร์ mail function กันใช้

Newbie

Posts

Joined
Thu Aug 23, 2012 5:19 am

Post by amdev » Mon Aug 27, 2012 6:39 pm

ใช้เวอร์ชั่นอ่ะไรครับ ลองทดสอบกับเวอร์ชั่นล่าสุดหรือยัง ถ้ายัง ให้ลองใช้เทียบกันดูว่าส่งไม่ได้เหมือนกันทั้งคู่หรือเปล่าครับ

ข้อ 2 และ 3 ให้ท่านลองใช้เมล์สำรอง ทดสอบสั่งซื้อดู ว่าเมล์เข้าหรือเปล่า บางทีมันเข้าแต่อาจจะไปตกที่ junk ก็เป็นไปได้

ข้อ 4 ก็ให้ทดสอบตามคำแนะนำด้านบนก่อนครับ อาจจะเกิดจาก lib/mail ของ opc

ส่วนตามที่คุณ
birdamon wrote:smtp มีปัญหา กับหน้า contact us ตรงที่ว่า เวลา submit แล้วมันจะเอา email ของลูกค้ามาใช้เป็น sender
ซึ่งระบบมา login กับ smtp ของเราที่เราตั้งเอาไว้ซึ่งมันจะ มีได้ไง ???

ขอเสนอวิธีแก้เบื้องต้น เราไปเซ็ต sender เป็น email เราเลยเพื่อให้ login เข้า smtpได้ แล้วก็ส่งหาตัวเอง ฮาร์ดโค๊ดเลยครับ
แล้วเอาemail จากฟอร์มหน้า contact us มายัดใส่ในเนื้อหาของอีเมล์แทน เท่านี้ก็พอใช้งานได้ครับ

แต่ถ้าเลือกแบบ Php mail จะไม่มีปัญหา แต่จะมีปัญหาเมลส่งช้า หากใช้กับโฮสต์ราคาถูกที่แชร์ mail function กันใช้
ผมว่าไม่น่าใช้ครับ ระบบ ไม่ได้เอาเมล์ลูกค้ามาล็อกอินอย่างแน่นอนครับ เปิดโค้ดเทียบได้เลย

อันนี้หน้า contact

Code: Select all

		$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->request->post['email']);
	  		$mail->setSender($this->request->post['name']);
	  		$mail->setSubject(html_entity_decode(sprintf($this->language->get('email_subject'), $this->request->post['name']), ENT_QUOTES, 'UTF-8'));
	  		$mail->setText(strip_tags(html_entity_decode($this->request->post['enquiry'], ENT_QUOTES, 'UTF-8')));
      		$mail->send();
ส่วนอันนี้หน้าแอดมินครับ

Code: Select all

					foreach ($emails as $email) {
						$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($email);
						$mail->setFrom($this->config->get('config_email'));
						$mail->setSender($store_name);
						$mail->setSubject(html_entity_decode($this->request->post['subject'], ENT_QUOTES, 'UTF-8'));					
						$mail->setHtml($message);
						$mail->send();
					}
ถ้าระบบใช้ smtp มันก็จะเอาส่วนนี้มาใช้ครับ

Code: Select all

					$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');				
ซึ่งทั้งคู่ โค้ดเหมือนกัน ไม่มีส่วนใดที่เกี่ยวกับเมล์ลูกค้าแล้วเอามาล็อกอินเลยครับ

ร้านค้าออนไลน์
OpenCart Thailand Support Forum
How to Upgrade oc1.5 to 2.0.1.1
Upgrading OpenCart From v.1.4 or v.1.5 to V.2.2 Step by step


User avatar
Active Member

Posts

Joined
Fri Nov 27, 2009 3:40 pm
Location - Bangkok - Thailand
Who is online

Users browsing this forum: No registered users and 2 guests