|
|
|
ขอตัวอย่างโค๊ช ส่งเมล์แบบ smtp หน่อยครับ รบกวนด้วยครับผม |
|
|
|
|
|
|
|
ตัวนี้ครับ Authen ผ่าน SMTP ครับ มันดีกว่าตรงที่ Email ปลายทางบางแห่งจะตรวจสอบว่าใช้อะไรส่ง ส่งผ่านอะไร และคะแนนของอีเมล์นั้น ๆ ก็จะสูงครับ โอกาศติด Junk ก็ลดลงครับ
Go to : PHP Sending Email Using SMTP Authentication
|
|
|
|
|
Date :
2012-08-17 14:39:22 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอโทษนะครับพี่วิน คือผมไม่ค่อยเข้าใจ
$smtpServer = "mail.thaicreate.com";
$port = "25"; <<<< นี่ต้องเปลี่ยนไหมครับ
$timeout = "30";
$username = "[email protected]";
$password = "password";
$localhost = "191.191.191.191"; <<<<<<< ค่านี้เป็น ip เว็บไซต์ หรือ ip อะไรครับ
$newLine = "\r\n";
$secure = 1; <<<< นี่ต้องเปลี่ยนไหมครับ
แล้วคำสั่งเหล่านี้ต้องมีไหมครับ หรือว่าไม่ต้องใส่ก็ได้ คือถ้าไม่จำเป็นต้องมีจะได้เอาออกเพราะมันยาวเด๋วงง
051.//request for auth login
052.fputs($smtpConnect,"AUTH LOGIN" . $newLine);
053.$smtpResponse = fgets($smtpConnect, 4096);
054.$logArray['authrequest'] = "$smtpResponse";
055.
056.//send the username
057.fputs($smtpConnect, base64_encode($username) . $newLine);
058.$smtpResponse = fgets($smtpConnect, 4096);
059.$logArray['authusername'] = "$smtpResponse";
060.
061.//send the password
062.fputs($smtpConnect, base64_encode($password) . $newLine);
063.$smtpResponse = fgets($smtpConnect, 4096);
064.$logArray['authpassword'] = "$smtpResponse";
065.
066.//email from
067.fputs($smtpConnect, "MAIL FROM: $from" . $newLine);
068.$smtpResponse = fgets($smtpConnect, 4096);
069.$logArray['mailfromresponse'] = "$smtpResponse";
070.
071.//email to
072.fputs($smtpConnect, "RCPT TO: $to" . $newLine);
073.$smtpResponse = fgets($smtpConnect, 4096);
074.$logArray['mailtoresponse'] = "$smtpResponse";
075.
076.//the email
077.fputs($smtpConnect, "DATA" . $newLine);
078.$smtpResponse = fgets($smtpConnect, 4096);
079.$logArray['data1response'] = "$smtpResponse";
080.
081.//construct headers
082.$headers = "MIME-Version: 1.0" . $newLine;
083.//$headers .= "Content-type: text/html; charset=iso-8859-1" . $newLine;
084.$headers .= "To: $nameto <$to>" . $newLine;
085.$headers .= "From: $namefrom <$from>" . $newLine;
086.
087.//observe the . after the newline, it signals the end of message
088.fputs($smtpConnect, "To: $to\r\nFrom: $from\r\nSubject: $subject\r\n$headers\r\n\r\n$message\r\n.\r\n");
089.$smtpResponse = fgets($smtpConnect, 4096);
090.$logArray['data2response'] = "$smtpResponse";
091.
092.// say goodbye
093.fputs($smtpConnect,"QUIT" . $newLine);
094.$smtpResponse = fgets($smtpConnect, 4096);
095.$logArray['quitresponse'] = "$smtpResponse";
096.$logArray['quitcode'] = substr($smtpResponse,0,3);
097.fclose($smtpConnect);
098.//a return value of 221 in $retVal["quitcode"] is a success
099.return($logArray);
|
|
|
|
|
Date :
2012-08-17 14:53:49 |
By :
กระป๋อง |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code
$smtpServer = "mail.thaicreate.com"; // pop3
$port = "25";
$timeout = "30";
$username = "[email protected]"; // email
$password = "password"; // password
$localhost = "191.191.191.191"; // server ip
$newLine = "\r\n";
$secure = 1;
ที่ต้องเปลี่ยนครับ
|
|
|
|
|
Date :
2012-08-17 14:56:32 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมลองรันดูแล้ว มันขึ้น
Connected to: 220 mail1.porarserver.com ESMTP IceWarp 10.2.2; Fri, 17 Aug 2012 21:26:00 +0700
แล้วก็เงียบครับไม่มีอีเมล์เข้า ผมลองส่งเข้า hotmail นะครับ ในถังขยะก็ไม่มี ไม่ทราบว่าต้องเช็คส่วนไหนต่อครับ
|
|
|
|
|
Date :
2012-08-17 21:39:27 |
By :
กระป๋อง |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ในตัวอย่างผมก็ใช้ปกติน่ะครับ หรือไม่ก็เปลี่ยนไปใช้พวก MIME Mail หรือ PHPMailer ครับ
|
|
|
|
|
Date :
2012-08-19 09:08:03 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|