ThaiSEOBoard.com

พัฒนาเว็บไซต์ => Programming => ข้อความที่เริ่มโดย: kunnarakkup ที่ 06 มีนาคม 2017, 13:23:13



หัวข้อ: ช่วยดู codeส่งเมล์ทีครับ ขึ้น error แบบนี้
เริ่มหัวข้อโดย: kunnarakkup ที่ 06 มีนาคม 2017, 13:23:13

Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\AppServ\www\phpSendEmail.php on line 19
Email Can Not Send.


หัวข้อ: Re: ช่วยดู codeส่งเมล์ทีครับ ขึ้น error แบบนี้
เริ่มหัวข้อโดย: snohomish ที่ 06 มีนาคม 2017, 13:25:33
ได้อัพขึ้นโฮสรึป่าวครับ


หัวข้อ: Re: ช่วยดู codeส่งเมล์ทีครับ ขึ้น error แบบนี้
เริ่มหัวข้อโดย: kunnarakkup ที่ 06 มีนาคม 2017, 13:29:26
ได้อัพขึ้นโฮสรึป่าวครับ

ไม่ได้อัพขึ้นโฮสครับ  ปกติไม่ว่าเขียน c0de ส่งเมลล์แบบใหนก็ต้องลงโฮสเหรอครับ

โค๊ด:
<?php

$strTo 
"member@thaicreate.com";

$strSubject "Test Send Email";

$strHeader "From: webmaster@thaicreate.com";

$strMessage "My Body & My Description";

$flgSend mail($strTo,$strSubject,$strMessage,$strHeader);  // @ = No Show Error //

if($flgSend)

{

echo 
"Email Sending.";

}

else

{

echo 
"Email Can Not Send.";

}

?>


หัวข้อ: Re: ช่วยดู codeส่งเมล์ทีครับ ขึ้น error แบบนี้
เริ่มหัวข้อโดย: snohomish ที่ 06 มีนาคม 2017, 13:35:16
รันผ่าน localhost ผมไม่แน่ใจว่ามันใช้งานได้รึป่าว ต้องไปตั้งค่าอะไรมั้ย ผมไม่แน่ใจเพราะไม่เคยใช้ครับ


หัวข้อ: Re: ช่วยดู codeส่งเมล์ทีครับ ขึ้น error แบบนี้
เริ่มหัวข้อโดย: kunnarakkup ที่ 06 มีนาคม 2017, 13:38:11
รันผ่าน localhost ผมไม่แน่ใจว่ามันใช้งานได้รึป่าว ต้องไปตั้งค่าอะไรมั้ย ผมไม่แน่ใจเพราะไม่เคยใช้ครับ

ผมรู้สึกว่าเขียนยากกว่า phpmiler จังครับ ต้องไปตั้งค่าอะไรไม่รู้เยอะแยะไปหมด


หัวข้อ: Re: ช่วยดู codeส่งเมล์ทีครับ ขึ้น error แบบนี้
เริ่มหัวข้อโดย: goldxp ที่ 06 มีนาคม 2017, 14:59:09
ลองดู mercury mail server นะครับ ตัวนี้ใช้ทดสอบในเครื่องได้ครับ

hxxp://www.pmail.com/m32_480.htm


หัวข้อ: Re: ช่วยดู codeส่งเมล์ทีครับ ขึ้น error แบบนี้
เริ่มหัวข้อโดย: ten1312 ที่ 06 มีนาคม 2017, 15:10:43
ใช้ localhost ส่งเมลต้องไปตั้งค่าใน PHP.ini หลายอย่างอยู่นะ
ผมว่าหาโฮสฟรีไว้ทดสอบเลยดีกว่า


หัวข้อ: Re: ช่วยดู codeส่งเมล์ทีครับ ขึ้น error แบบนี้
เริ่มหัวข้อโดย: kunnarakkup ที่ 06 มีนาคม 2017, 15:15:31
ใช้ localhost ส่งเมลต้องไปตั้งค่าใน PHP.ini หลายอย่างอยู่นะ
ผมว่าหาโฮสฟรีไว้ทดสอบเลยดีกว่า

ผมมีโฮสฟรีอยู่แล้วครับ ต้องไปทำอะไรเพิ่มมั้ยครับ


หัวข้อ: Re: ช่วยดู codeส่งเมล์ทีครับ ขึ้น error แบบนี้
เริ่มหัวข้อโดย: f206cs ที่ 06 มีนาคม 2017, 15:24:59
เอาจริงๆก็ไป set ใน php.ini แค่ 2-3 อย่างเองครับ

โค๊ด:
[mail function]
; For Win32 only.
SMTP = xxxx.yyyy.zzzz ; for Win32 only (ใส่ smtp ของ server จริง)
smtp_port = 25 ; (ระบุ port ปกติก็ใส่เป็น 25 เลย)
sendmail_from= aaaaa@yyyy.zzzz ; for Win32 only (อันนี้ไม่ต้องระบุก้ได้)

เสร็จแล้วก็ restart service ของ web server
หรือไม่ก็ restart เครื่องไปเลย

ปัญหาคือไม่รู้จะเอาคืออะไรมาใส่ใน SMTP
แล้วไม่รู้ว่าเครื่องที่ใช้อยู่ติดเรื่อง security อะไรอีกหรือเปล่า

ดังนั้นถ้ามี host อยู่แล้ว ก็อัพโหลดไฟล์ขึ้น host ไปทดสอบเลยง่ายกว่า


หัวข้อ: Re: ช่วยดู codeส่งเมล์ทีครับ ขึ้น error แบบนี้
เริ่มหัวข้อโดย: kunnarakkup ที่ 06 มีนาคม 2017, 15:29:23
เอาจริงๆก็ไป set ใน php.ini แค่ 2-3 อย่างเองครับ

โค๊ด:
[mail function]
; For Win32 only.
SMTP = xxxx.yyyy.zzzz ; for Win32 only (ใส่ smtp ของ server จริง)
smtp_port = 25 ; (ระบุ port ปกติก็ใส่เป็น 25 เลย)
sendmail_from= aaaaa@yyyy.zzzz ; for Win32 only (อันนี้ไม่ต้องระบุก้ได้)

เสร็จแล้วก็ restart service ของ web server
หรือไม่ก็ restart เครื่องไปเลย

ปัญหาคือไม่รู้จะเอาคืออะไรมาใส่ใน SMTP
แล้วไม่รู้ว่าเครื่องที่ใช้อยู่ติดเรื่อง security อะไรอีกหรือเปล่า

ดังนั้นถ้ามี host อยู่แล้ว ก็อัพโหลดไฟล์ขึ้น host ไปทดสอบเลยง่ายกว่า


ส่งได้ละครับอัพขึ้นโฮสส่งได้เลย งงๆ
 เหมือนก่อนหน้านี้ code ตัวเดียวกันเลย เคยอัพขึ้นโฮสละส่งไม่ได้ครับ เลยพาสับสน


หัวข้อ: Re: ช่วยดู codeส่งเมล์ทีครับ ขึ้น error แบบนี้
เริ่มหัวข้อโดย: kunnarakkup ที่ 06 มีนาคม 2017, 15:36:00
ส่งได้แล้วครับแต่สงสัยอย่างนึก ตรงชื่อผู้ส่งทำไมขึ้นว่า Apache  พอกดเข้าไปข้างในอะครับ พึ่งเห็นว่าเมล์ที่ส่งมา เป็นเมลล์ <apache@ramses.freewha.com> ไม่ใช่ เมล์ที่ผมส่งไปอะครับ


(https://www.img.in.th/images/73fe3b253da2c55ad2f278682d63732d.jpg)


หัวข้อ: Re: ช่วยดู codeส่งเมล์ทีครับ ขึ้น error แบบนี้
เริ่มหัวข้อโดย: soodgame ที่ 06 มีนาคม 2017, 15:53:36
เมล์ที่ส่งเป็นเมล์ของ host นะครับไม่ใช่ เมล์ที่ใส่เข้าไปใน code


หัวข้อ: Re: ช่วยดู codeส่งเมล์ทีครับ ขึ้น error แบบนี้
เริ่มหัวข้อโดย: kunnarakkup ที่ 06 มีนาคม 2017, 15:59:45
เมล์ที่ส่งเป็นเมล์ของ host นะครับไม่ใช่ เมล์ที่ใส่เข้าไปใน code

เพราะผมไม่ได้สร้าง form หรือเปล่าครับ เมล์ที่ส่งไป จึง เป็นเมล์ของ host


หัวข้อ: Re: ช่วยดู codeส่งเมล์ทีครับ ขึ้น error แบบนี้
เริ่มหัวข้อโดย: soodgame ที่ 06 มีนาคม 2017, 16:04:40
คือวิธีการส่งเมลล์ต้องใช้เมลล์ของ host ส่งอยู่แล้วครับ ถ้าเคยสังเกตเว็บต่างๆที่ส่งเมลล์ auto กันจะเป็น ชื่อเมล์@เว็บนั้นๆ ถ้าอยากได้ชื่อตัวเองก็ไปสร้างเมลล์ใน host ให้เป็นชื่อเราครับ


หัวข้อ: Re: ช่วยดู codeส่งเมล์ทีครับ ขึ้น error แบบนี้
เริ่มหัวข้อโดย: f206cs ที่ 06 มีนาคม 2017, 16:25:04
ส่งได้แล้วครับแต่สงสัยอย่างนึก ตรงชื่อผู้ส่งทำไมขึ้นว่า Apache  พอกดเข้าไปข้างในอะครับ พึ่งเห็นว่าเมล์ที่ส่งมา เป็นเมลล์ <apache@ramses.freewha.com> ไม่ใช่ เมล์ที่ผมส่งไปอะครับ

โค๊ด:
ให้เปลี่ยน $strHeader = "fK_kunnarakkup@hotmail.co.th";

เป็น $strHeader = "From: fK_kunnarakkup@hotmail.co.th"; ครับ

****
ถ้าจะใช้ function mail ของ php จริงๆจังๆ ต้องศึกษาอีกเยอะครับ
มันมีเรื่องของการส่งแนบไฟล์ การส่งเป็น html ซึ่งพวกนี้ต้องไปเขียนคำสั่งค่อนข้างยุ่งยาก
ถ้าเป็นไปได้แนะนำไปศึกษา phpMailer เลยดีกว่าครับ งา่ยกว่า

แต่ถ้าไม่ได้ต้องการ option อะไรมากจะใช้แค่ตัว function mail ก็พอจะได้นะครับ
แต่ปัญหามันก็เยอะนะ ไหนจะส่งไปแล้วไม่เข้า inbox ไปอยู่ใน junk บ้าง อะไรบ้าง

แต่ค่อยๆศึกษาไปก็ไ้ดครับ ยังมีปัญหารอให้แก้ไขอีกเยอะครับ
****


หัวข้อ: Re: ช่วยดู codeส่งเมล์ทีครับ ขึ้น error แบบนี้
เริ่มหัวข้อโดย: zazane ที่ 06 มีนาคม 2017, 16:32:00
ส่งได้แล้วครับแต่สงสัยอย่างนึก ตรงชื่อผู้ส่งทำไมขึ้นว่า Apache  พอกดเข้าไปข้างในอะครับ พึ่งเห็นว่าเมล์ที่ส่งมา เป็นเมลล์ <apache@ramses.freewha.com> ไม่ใช่ เมล์ที่ผมส่งไปอะครับ

โค๊ด:
ให้เปลี่ยน $strHeader = "fK_kunnarakkup@hotmail.co.th";

เป็น $strHeader = "From: fK_kunnarakkup@hotmail.co.th"; ครับ

****
ถ้าจะใช้ function mail ของ php จริงๆจังๆ ต้องศึกษาอีกเยอะครับ
มันมีเรื่องของการส่งแนบไฟล์ การส่งเป็น html ซึ่งพวกนี้ต้องไปเขียนคำสั่งค่อนข้างยุ่งยาก
ถ้าเป็นไปได้แนะนำไปศึกษา phpMailer เลยดีกว่าครับ งา่ยกว่า

แต่ถ้าไม่ได้ต้องการ option อะไรมากจะใช้แค่ตัว function mail ก็พอจะได้นะครับ
แต่ปัญหามันก็เยอะนะ ไหนจะส่งไปแล้วไม่เข้า inbox ไปอยู่ใน junk บ้าง อะไรบ้าง

แต่ค่อยๆศึกษาไปก็ไ้ดครับ ยังมีปัญหารอให้แก้ไขอีกเยอะครับ
****
แวะมาเก็บบ้างค่ะ


หัวข้อ: Re: ช่วยดู codeส่งเมล์ทีครับ ขึ้น error แบบนี้
เริ่มหัวข้อโดย: kunnarakkup ที่ 06 มีนาคม 2017, 16:39:27
ส่งได้แล้วครับแต่สงสัยอย่างนึก ตรงชื่อผู้ส่งทำไมขึ้นว่า Apache  พอกดเข้าไปข้างในอะครับ พึ่งเห็นว่าเมล์ที่ส่งมา เป็นเมลล์ <apache@ramses.freewha.com> ไม่ใช่ เมล์ที่ผมส่งไปอะครับ

โค๊ด:
ให้เปลี่ยน $strHeader = "fK_kunnarakkup@hotmail.co.th";

เป็น $strHeader = "From: fK_kunnarakkup@hotmail.co.th"; ครับ

****
ถ้าจะใช้ function mail ของ php จริงๆจังๆ ต้องศึกษาอีกเยอะครับ
มันมีเรื่องของการส่งแนบไฟล์ การส่งเป็น html ซึ่งพวกนี้ต้องไปเขียนคำสั่งค่อนข้างยุ่งยาก
ถ้าเป็นไปได้แนะนำไปศึกษา phpMailer เลยดีกว่าครับ งา่ยกว่า

แต่ถ้าไม่ได้ต้องการ option อะไรมากจะใช้แค่ตัว function mail ก็พอจะได้นะครับ
แต่ปัญหามันก็เยอะนะ ไหนจะส่งไปแล้วไม่เข้า inbox ไปอยู่ใน junk บ้าง อะไรบ้าง

แต่ค่อยๆศึกษาไปก็ไ้ดครับ ยังมีปัญหารอให้แก้ไขอีกเยอะครับ
****

ขอบคุณครับ  phpMailer ผมเคยใช้ส่งเมลล์แล้วครับก็โอเคอยู่ ที่ผมเขียนแบบนี้เพราะบริษัทใหม่มันขอ paswordยุ่งยากอะครับ เหมือนไม่อยากให้คนที่ไม่เกี่ยวคล้องอะไรประมาณนี้  เลยลองเขียนแบบนี้ดูครับเห็นว่ามันไม่ต้องใส่ pasword ครับ


หัวข้อ: Re: ช่วยดู codeส่งเมล์ทีครับ ขึ้น error แบบนี้
เริ่มหัวข้อโดย: kunnarakkup ที่ 07 มีนาคม 2017, 09:03:44
ตอนนี้ผมติดส่งเมล์เองอะครับ

ลองแก้แบบนี้ พอรันยังไม่ใส่ข้อมูลก็ echo "Email Sending เลยอะครับ พอกด F5 มันก็ส่งข้อมูลเก่าไปให้เลย

$flgSend = @mail($strTo,$strSubject,$strMessage,$strHeader);  // @ = No Show Error //
if($flgSend=="")
{
echo "Email Can Not Send.";}
else
{
echo "Email Sending.";
}


หัวข้อ: Re: ช่วยดู codeส่งเมล์ทีครับ ขึ้น error แบบนี้
เริ่มหัวข้อโดย: kunnarakkup ที่ 07 มีนาคม 2017, 10:06:01
พอเปลี่ยนเป็น  phpmailer
มันขึ้นว่า

 SMTP Error: Could not connect to SMTP host.

http://kuntestwebhydroperse.freetzi.com/hydroperse/phpSendEmail.php


หัวข้อ: Re: ช่วยดู codeส่งเมล์ทีครับ ขึ้น error แบบนี้
เริ่มหัวข้อโดย: f206cs ที่ 07 มีนาคม 2017, 14:42:08
ตอนนี้ผมติดส่งเมล์เองอะครับ

ลองแก้แบบนี้ พอรันยังไม่ใส่ข้อมูลก็ echo "Email Sending เลยอะครับ พอกด F5 มันก็ส่งข้อมูลเก่าไปให้เลย

$flgSend = @mail($strTo,$strSubject,$strMessage,$strHeader);  // @ = No Show Error //
if($flgSend=="")
{
echo "Email Can Not Send.";}
else
{
echo "Email Sending.";
}

ต้องถามก่อนครับ ว่า code นี้ต้องการทำอะไร
ถ้าจะเช็คว่าส่งเมลลืได้หรือไม่ได้ ใช้ if($flgSend=="") ไม่ถูกนะครับ
เพราะ $flgSend เก็บสถานะการส่งเมลล์ ไม่ว่าจะส่งได้หรือไม่ได้ มันจะมีค่าเสมอ
ดังนั้นถ้าเขียนแบบด้านบน มันจะเป็นเท็จตลอด ดังนั้นมันก็จะแสดงข้อความว่า Email Sending ตลอดไม่วา่จะส่งเมลล์ได้หรือไม่ได้ และส่งเป็นอะไรก็ตาม

ถ้าจะให้ถูกต้องเปลี่ยนจาก if($flgSend=="") เป็น if(!$flgSend) แทนนะครับ


หัวข้อ: Re: ช่วยดู codeส่งเมล์ทีครับ ขึ้น error แบบนี้
เริ่มหัวข้อโดย: f206cs ที่ 07 มีนาคม 2017, 14:44:45
พอเปลี่ยนเป็น  phpmailer
มันขึ้นว่า

 SMTP Error: Could not connect to SMTP host.

[url]http://kuntestwebhydroperse.freetzi.com/hydroperse/phpSendEmail.php[/url]


อันนี้เป็น host free หรือเปล่า
ลองสอบถามเค้าดูว่าเค้า support การส่งเมลล์แบบ smtp หรือเปล่า
ผมเคยเจอว่า host free บางที่ไม่รองรับการส่งแบบ smtp นะครับ ทำให้ใช้ phpmailer ไม่ได้

นอกเหนือจากนี้ก็ต้องตรวจสอบดูครับว่าระบุ smtp ถูกต้องหรือเปล่า
ระบุ port ถูกต้องหรือเปล่าครับ

 :wanwan003:


หัวข้อ: Re: ช่วยดู codeส่งเมล์ทีครับ ขึ้น error แบบนี้
เริ่มหัวข้อโดย: kunnarakkup ที่ 07 มีนาคม 2017, 17:06:12
พอเปลี่ยนเป็น  phpmailer
มันขึ้นว่า

 SMTP Error: Could not connect to SMTP host.

[url]http://kuntestwebhydroperse.freetzi.com/hydroperse/phpSendEmail.php[/url]


อันนี้เป็น host free หรือเปล่า
ลองสอบถามเค้าดูว่าเค้า support การส่งเมลล์แบบ smtp หรือเปล่า
ผมเคยเจอว่า host free บางที่ไม่รองรับการส่งแบบ smtp นะครับ ทำให้ใช้ phpmailer ไม่ได้

นอกเหนือจากนี้ก็ต้องตรวจสอบดูครับว่าระบุ smtp ถูกต้องหรือเปล่า
ระบุ port ถูกต้องหรือเปล่าครับ

 :wanwan003:


ผมลองรันบน localhost ก็เป็นครับ ก็งงๆอยู่ อ่านหลายกระทู้บ้างคนก็บอกว่า post 465  เครือข่ายที่ผมใช้มันบล๊อกอะครับ ก็งง เลยว่าจะลองไปทำที่บ้านผมดูน่าจะได้