Browsing articles tagged with " server"
May 25, 2011
แว่นตก

วิธีส่งเมล์ผ่าน server gmail

รูปของเทคนิค วิธีส่งเมล์ผ่าน server gmail

ในการส่งเมล์ ในบ้างครั้ง server เราก็ไม่อนุญาตให้ส่งเมล์ออกไป หรือไม่ก็ server เราโดนบล๊อกจากผู้ให้บริการอีเมล์ เช่น hotmail gmail yahoo เป็นต้น

เราสามารถแก้ไขโดยการไปใช้ server gmail ในการส่งเมล์แทน server เราเอง แต่เราต้อง

1 . ไปโหลด php class ที่ชื่อว่า phpmailer ก่อน
และ
2. เปิดใช้งาน openssl โดยการ เอาเครื่องหมาย ; หน้า extension=php_openssl.dll จาก php.ini ออก และ Save แล้ว restart Webserver

ตัวอย่าง code การใช้งาน

1
2
3
4
5
6
7
8
9
10
11
12
13
14
require_once('class.phpmailer.php');
$mail = new PHPMailer();
$mail->IsHTML(true); // กำหนดให้ ส่งเป็น html
$mail->IsSMTP();
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->Host = "ssl://smtp.gmail.com:465"; // SMTP GMAIL server
$mail->Username = "xxx@gmail.com"; // GMAIL username
$mail->Password = "xxxxx"; // GMAIL password
$mail->From = "เมลผู้ส่ง"; // "name@yourdomain.com";
$mail->FromName = "ชื่อผู้ส่ง";
$mail->Subject = "หัวข้ออีกเมล";
$mail->MsgHTML("ข้อความที่จะส่ง เป็น html ก็ได้");
$mail->AddAddress("e-mail ผู้รับ", "ชื่อผู้รับ"); // ใส่ email ผู้รับอย่างเดียวก็ได้
$mail->Send(); // ส่งเมลออก

ขอขอบคุณ

http://phpmailer.worxware.com/index.php?pg=phpmailer

http://www.mindphp.com/modules.php?name=News&file=article&sid=101

May 25, 2011
แว่นตก

เทคโนโลยี ที่ทำให้ facebook, twitter ให้บริการได้ร้อยล้านคนแบบ Real time ได้

รูป เทคโนโลยี Facebook Twitter

เพื่อนๆ เคยนึกหรือไม่ครับว่า twitter และ facebook มีเครื่อง server กี่เครื่องครับ ?
ถ้าไม่ได้ติดตามก็คงตอบผิดครับ ผมเคยถามเพื่อน บางคนตอบว่า 50 บางคนบอกว่า 1000 เครื่อง ผิดหมดครับ
สำหรับ Facebook ใช้ Server ทั้งหมด (ถึงตุลาคมนี้) 30,000 เครื่องครับ

Ref: http://www.datacenterknowledge.com/archives/2009/10/13/facebook-now-has-30000-servers

ส่วน twitter ผมค้นหาแล้วไม่มีข้อมูลบอกนะครับ แต่คิดว่าคง ราวๆ หลายพันเครื่อง

Continue reading »

May 25, 2011
แว่นตก

ตรวจสอบ IP Address จริง

ในบางครั้งเราต้องการตรวจสอบคนที่เข้ามาใช้เวปเรา และโดยส่วนมาแล้วจะตรวจสอบโดย
check IP Address ซึ่งถ้าเราใช้

1
2
3
4
<?php
    $ip=getenv(REMOTE_ADDR);
    print  "IP Address is $ip";
?>

เราก็จะได้ IP Address มา แต่ก็ถ้าเครื่องนั้น ๆ ใช้ Proxy Server เราจะได้ IP Address ของ
Proxy มาแทน ซึ่งเราควรแก้ไข code ที่ใช้ มาเป็น

1
2
3
4
5
6
7
if (getenv(HTTP_CLIENT_IP)) {
      $ip = getenv(HTTP_CLIENT_IP);
} elseif (getenv(HTTP_X_FORWARDED_FOR)) {
      $ip = getenv(HTTP_X_FORWARDED_FOR);
} else {
      $ip = getenv(REMOTE_ADDR);
}

 

จะทำให้เราได้ IP Address ของเครื่องนั้น ๆ จริง ๆ