Tag: webmail

  • วิธีส่ง email ในนามหน่วยงาน ที่ออกจาก Gmail ให้เป็น @psu.ac.th หรือ @group.psu.ac.th

    ไปที่
    คลิก Add Another email address
    ใส่ ชื่อที่ต้องการ
    email address ที่ต้องการส่งออกไป
    แล้วคลิก Next Step
    จากนั้น ใส่
    SMTP Server: smtp2.psu.ac.th
    Username; yourpsuemail@psu.ac.th  <—– email address ของ psu ครับ
    Password: Password ของ psu email
    แล้วคลิก Add Account
    รอ email ที่เข้าสู่ Groupmail ที่กำหนดไว้
    จะได้รับ email ประมาณนี้
    ให้เอา Confirmation Code ไป หรือ จะคลิก Link ก็ได้
    เมื่อเสร็จแล้วก็จะได้ผลลัพธ์ประมาณนี้
    ครับ
  • การลบเมลล์ใน PSU Webmail

    เคยเจอปัญหาว่า…

    มีคนทั้งนอกและในมอ. ส่งเมลล์เช้า @psu.ac.th แต่ไม่ได้รับเมลล์ (ปกติเช็คเมลล์ผ่าน google) เลยลองเข้า https://webmail.psu.ac.th ดูเพื่อที่จะเข้าไปลบเมลล์ เพราะระบบแจ้งว่าพื้นที่เมลล์เต็มแล้ว ก็ทำการลบ(ตามรูป) แต่ก็ไม่เป็นผล เหมือนว่าเมลล์ยังไม่ได้ถูกลบ และพื้นที่เมลล์ก็ยังคงเต็มอยู่เหมือนเดิม

    มาดูวิธีการลบเมลล์ในกล่อง Inbox กันครับ

    1. select all
    2. click ปุ่ม Delete
    3. แล้วคลิกปุ่ม Expunge อีกครั้ง
    เมลล์จะถูกลบเป็นหน้าๆ ไป ก็ทำอย่างนั้นไปเรื่อยๆ จนกว่าจะหมด

    4. Sign Out แล้วทำการ Sign in ใหม่อีกครั้ง

    5. พื้นที่เก็บเมลล์ (Quota Usage) เหลือเยอะขึ้น

     

    หวังว่าจะเป็นประโยชน์กับใครหลายๆคนหรือผู้ที่ประสบปัญหาเดียวกันนะครับ ^^

    *** อย่าลืมหมั่นตรวจสอบ และลบเมลล์ออกบ้างนะครับเพื่อเคลียร์พื้นที่ในการจัดเก็บเมลล์

  • 3 ขั้นตอนง่ายๆ ในการ Block Email ที่ไม่ต้องการใน PSU Webmail

    1. เปิด Email ฉบับที่ไม่ต้องการรับ แล้วคลิกที่ From ในบรรทัด Create Filter
    2. เลือกว่าจะ Block แบบไหน
      2.1 Reject คือโยนทิ้งทันที และแจ้งผู้ส่งด้วย
      2.2 Discard คือโยนทิ้งทันที แบบเงียบๆ
      *** ในช่อง Additional Actions คลิก STOP ด้วย ***
      จากนั้นคลิก Add New Rule
    3. รออะไร คลิก Close สิครับ
  • การตั้งค่า MaxRequestWorkers บน Apache ให้เหมาะสมกับจำนวนผู้ใช้

    ปัญหาของ PSU Webmail ในช่วง 9-15 สิงหาคม 2559 ที่ผ่านมา คือ เมื่อเริ่มเข้าสู่เวลาราชการ ในวันทำการ พบว่า มีการตอบสนองที่ช้า บางครั้งต้องรอถึง 15-20 วินาที หรือ ผู้ใช้บางท่านแจ้งว่า Timeout ไปเลย หรือไม่ก็ใช้งานไปสักพัก ถูกดีดกลับมาหน้า Login ใหม่

    แต่เมื่อพ้นเวลาราชการ พบว่าการตอบสนองก็เร็วขึ้นดังเดิม รวมถึงในช่วงวันหยุดก็เร็วอย่างที่ควรเป็น

    ขอบคุณทาง NetAdmin ที่ทำระบบตรวจสอบไว้ที่หน้า Data Center เพื่อตรวจจับความเร็วในการตอบสนองบริการ PSU Webmail ด้วย SmokePing ผลที่ได้เป็นดังภาพ

    2559-08-15 16_03_36-SmokePing Latency Page for HTTPS to webmail.psu.ac.th in Data Center at Hat Yai

    จะเห็นว่า มีความหน่วงในการตอบสนอง เฉพาะในวันเวลาราชการเท่านั้น … ทำไม ???

    ทำการตรวจสอบด้วยคำสั่ง

    ps aux |grep apache| wc -l

    เพื่อดูว่า มีจำนวน Apache อยู่กี่ Process พบว่า ในช่วงเวลาที่ระบบหน่วง มี Process เกือบคงที่ที่ 150 แต่ในช่วงที่ระบบทำงานได้เร็ว มีจำนวนประมาณ 50 process

    จากการศึกษา พบว่า Apache2 ที่ใช้ MPM Prefork นั้น จะจำกัดค่า MaxRequestWorkers ไว้ โดยหากไม่กำหนดค่าใดๆจะตั้งไว้ที่ 256 แต่เมื่อตรวจสอบในไฟล์

    /etc/apache2/mods-enabled/mpm_prefork.conf

    พบว่า

    <IfModule mpm_prefork_module>
    StartServers 5
    MinSpareServers 5
    MaxSpareServers 10
    MaxRequestWorkers 150
    MaxConnectionsPerChild 0
    </IfModule>

    ทำให้เพดานของจำนวน Process ไปจำกัดที่ 150 ดังที่ตรวจสอบเบื้องต้น เมื่อมีผู้ใช้มากขึ้นกว่าเดิม จึงทำให้ Process ไม่เพียงพอต่อความต้องการ เป็นผลให้เกิดการหน่วงขึ้น

    จึงทำการแก้ไข MaxRequestWorkers เป็น 256 แล้ว Restart Apache

    ผลทำให้ จำนวน Apache Process ขึ้นไปถึง 200 Process และการตอบสนองเร็วขึ้นตามที่ควรเป็นดังภาพ (หลังเวลา 14:45)

    2559-08-15 16_03_21-SmokePing Latency Page for HTTPS to webmail.psu.ac.th in Data Center at Hat Yai

    ทั้งนี้ การกำหนดจำนวน MaxRequestWorkers นั้น ต้องสัมพันธ์กับ RAM ของ Server ด้วย โดยมีสูตรคร่าวๆ คือ จำนวน RAM ในหน่วย MB หารด้วยขนาดของ Apache Process โดยเฉลี่ย

    เช่น

    มี RAM 4GB = 4 x 1024 = 4096

    ขนาดเฉลี่ย Apache Process = 20

    ดังนั้น MaxRequestWorkers = 4096/20 = 204

    แต่จริงๆแล้ว ควรเผื่อ Memory ไว้ให้ OS และอื่นๆด้วย (อาจจะไม่เต็ม 4096) หากขยับค่า MaxRequestWorkers แล้วยังพบว่า จำนวน Process ยังขึ้นไปเต็มเพดานอยู่ ควรพิจารณาเพิ่ม Memory ด้วย

    ประมาณนี้ครับ

    UPDATE:

    ผลการปรับแก้ไข ทำให้ เวลาในการตอบสนอง จากที่หน่วง 10 วินาที เหลือ เพียง 50 มิลลิวินาที ดังภาพ

    2559-08-17 16_03_42-SmokePing Latency Page for HTTPS to webmail.psu.ac.th in Data Center at Hat Yai

     

  • ทำไม PSU Webmail ส่ง email ที่มีไฟล์แนบเป็น Microsoft Word ง่ายๆ ไปให้คนอื่น แล้วเขาไม่ได้รับ

    วันนี้ มีผู้ใช้โทรศัพท์มาสอบถามปัญหา : ทำไมส่ง email ที่มีไฟล์แนบเป็น Microsoft Word ง่ายๆ ไปให้คนอื่น แล้วเขาไม่ได้รับ

    ตรวจสอบเบื้องต้น พบว่าส่งไม่ได้จริงๆ จึง เดินไปดูหน้างาน (คณะทันตะ)

    พบว่า ผู้ใช้ใช้ Firefox ในการใช้งาน PSU Webmail, เมื่อผู้ใช้ Compose จดหมายใหม่ แล้วเลือก Browse เพื่อเลือกไฟล์ นามสกุล .doc แล้วกดปุ่ม Add เพื่อแนบไฟล์ ก็จะได้ผลว่า ระบบมองเป็น text/xml ดังภาพ เป็นผลให้ ระบบกรอง email ทำงานผิดพลาด และไม่ยอมให้ส่ง

    ทดลองเปลี่ยนไฟล์ สร้างไฟล์ใหม่ ปิด Antivirus แล้ว ก็ยังเป็นเหมือนเดิม, เปลี่ยนไป Login ด้วย Account อื่นแล้ว ก็ยังเป็นเหมือนเดิม

    จึงทดลองส่ง email แบบไม่แนบไฟล์ ก็พบว่า ส่งได้

    จากนั้น จึงเอาไฟล์เดียวกัน แต่ใช้งานผ่าน PSU Webmail ด้วย IE แล้วทำการแนบไฟล์แบบเดิม พบว่า ระบบมองเป็น application/msword ถูกต้อง ดังภาพ

    ลองทดสอบกับ Chrome แล้ว ก็ได้ผลถูกต้องเช่นกัน จึงน่าจะเป็นปัญหาอะไรสักอย่างของ Firefox

    จึงลองดูการตั้งค่าต่างๆ พบว่า ใน Firefox ที่เมนู Tools > Options > Application มีการตั้งค่า “เอกสาร Microsoft Word 97-2003” มีอยู่ 3 บรรทัด และบรรทัดสุดท้าย บอกว่า text/xml เปิดด้วย Use XML Editor อยู่

    ซึ่งต่างกับการตั้งค่าใน IE ที่ใช้ Word อยู่ ดังภาพ

    วิธีการแก้ไข: จึงตั้งค่าดังกล่าวเป็น “Use Microsoft Word” เช่นกัน

    แล้วทดสอบใหม่ ปรากฏว่า ส่งได้ถูกต้อง แก้ปัญหาได้

  • ทำไมเวลาที่ส่ง email ผ่าน PSU Webmail แล้วมันเพี้ยนจากเวลาจริง

    วันนี้ มีผู้ใช้แจ้งว่า ส่ง email จาก PSU Webmail เมื่อเวลา 13:12:18แต่ พอเปิดใน INBOX.Sent พบว่า ส่งเมื่อเวลา  02:13:06 จึง เดินไปดูหน้างาน (คณะทันตะ)

     ตรวจสอบเบื้องต้น พบว่า เวลาของเครื่อง ก็ตรง และถูกต้อง แต่ เวลาที่ปรากฏอยู่ด้านซ้ายมือ มันเป็นเวลา 02:22 am ดังภาพ

     ทดลองส่ง email ถึงตัวเอง ก็พบว่า เป็นเวลา ตรงกับเวลาที่ปรากฏด้านซ้ายมือ ของ PSU Webmail แสดงว่า เป็นปัญหาที่การตั้งค่าของผู้ใช้

     จึงไปที่เมนู Options > Personal Information จึงพบว่า Timezone Options ตั้งเป็น America/Boa_Vista ดังภาพ

    ซึ่งเป็นเวลา GMT -4 ส่วนของไทยเราควรจะเป็น Asia/Bangkok ซึ่งเป็น GMT +7 ซึ่ง เวลาห่างกัน = (|-4| + |7| ) = 11 ชั่วโมง ซึ่งก็ตรงกับสิ่งที่เกิดขึ้น คือ เวลา 13:00 ถอยหลังไป 11 ชั่วโมงก็คือ 02:00 นั่นเอง

    การแก้ไข ก็แค่แก้ Timezone เป็น Asia/Bangkok แล้วกดปุ่ม Submit เท่านี้ เวลาก็ตรงตามความเป็นจริงแล้ว

  • วิธีพัฒนา Squirrelmail Plugin – กรณี pagespeed

    Squirrelmail เป็น IMAP Client Webmail แบบมาตราฐาน ทำงานบน PHP ซึ่งติดตั้งง่าย ใช้งานได้รวดเร็ว ไม่ต้องกังวลเรื่องความเข้ากันได้กับ Web Browser ของผู้ใช้หลากหลาย เพราะไม่ค่อยมีการใช้งานพวก JavaScript

    มีความง่ายในการต่อขยายความสามารถ โดยผู้พัฒนาเปิดให้เขียน Plugin ได้ง่าย โดยไม่ต้องแก้ไข Code ของระบบโดยตรง ด้วยวิธีการเสียบ Code ผ่านจุดที่กำหนด ที่เรียกว่า “Hook” ทำให้ Plugin ที่เขียนขึ้น สามารถใช้งานต่อไปได้ แม้มีการปรับรุ่นของ Squirrelmail ต่อไป

    ตัวอย่างการเขียน Squirrelmail Plugin เพื่อแสดงความเร็วในการประมวลผลในแต่ละส่วนของ Squirrelmail
    ใช้ชื่อว่า pagespeed (ทำงานบน Squirrelmail 1.4.x)

    1. สร้าง folder ชื่อ pagespeed
    2. สร้างไฟล์ index.php เอาไว้เฉยๆ
    3. สร้างไฟล์ setup.php , ต่อไปนี้ จะกล่าวถึงการเขียนโค๊ตในไฟล์นี้
    4. สร้าง function แรกที่จะเสียบเข้ากับ Hook ต่างๆ ชื่อว่า squirrelmail_plugin_init_pagespeed
      $starttime=0;
      
      function squirrelmail_plugin_init_pagespeed() {
          global $squirrelmail_plugin_hooks;
         // Code Go Here
      }

      ชื่อฟังกชั่นต้องเป็น squirrelmail_plug_init_xxx() โดยที่ xxx ต้องตรงกับชื่อ folder ในที่นี้คือ pagespeed

    5. ต่อไป บอกให้ Squirrelmail รู้ว่า เราจะเสียบฟังก์ชั่น “pagespeed_top” และ “pagespeed_bottom” ที่่จะเขียนต่อไป ไว้ที่ Hook ใดบ้าง ในที่นี้ จะเสียบไว้ที่หน้า Login บริเวณ Hook ชื่อว่า login_top และ login_bottom, จะเขียนโค๊ดดังนี้ใน function squirrelmail_plugin_init_pagespeed ดังนี้
      $squirrelmail_plugin_hooks['login_top']['pagespeed'] = 'pagespeed_top';
      $squirrelmail_plugin_hooks['login_bottom']['pagespeed'] = 'pagespeed_bottom';

      รูปแบบการเขียนคือ
      $squirrelmail_plugin_hooks[‘ตำแหน่งที่จะเสียบ’][‘ชื่อ plugin’] = ‘ชื่อฟังก์ชั่น’;

    6. ต่อไปมาเขียนรายละเอียดของฟังก์ขั่น pagespeed_top และ pagespeed_bottompagespeed_top ทำหน้าที่ดูเวลาเริ่มต้น มีรายละเอียดดังนี้
      function pagespeed_top() {
         global $starttime;
      
         $gentime = microtime();
         $gentime = explode(' ',$gentime);
         $gentime = $gentime[1] + $gentime[0];
      
         $starttime=$gentime;
      }

      ส่วน pagespeed_bottom ทำหน้าที่ ดูเวลาสิ้นสุด แล้วคำนวนเวลาที่ใช้ไป
      จากนั้น ก็แสดงผลการคำนวนได้

      function pagespeed_bottom() {
         global $starttime;
      
         $gentime = microtime();
         $gentime = explode(' ',$gentime);
         $gentime = $gentime[1] + $gentime[0];
         $pg_end = $gentime;
         $totaltime = ($pg_end - $starttime);
         $showtime = number_format($totaltime, 4, '.' , '');
      
         echo 'Speed: ' . $showtime . ' s' ;
      }

    เท่านี้ก็ได้ plugin แล้ว ต่อไปก็เอาไปติดตั้งได้

    หากต้องการวัดความเร็วในหน้าอื่นๆ เช่น ในส่วนของ right_main (ส่วนแสดงรายการ email ที่อยู่ใน mailbox) ก็สามารถเพิ่มเข้าไปในฟังก์ชั่น squirrelmail_plugin_init_pagespeed ดังนี้

    $squirrelmail_plugin_hooks['right_main_after_header']['pagespeed'] = 'pagespeed_top';
    $squirrelmail_plugin_hooks['right_main_bottom']['pagespeed'] = 'pagespeed_bottom';

    รายละเอียดเกี่ยวกับตำแหน่งของ Hook ดูได้ที่นี่ http://squirrelmail.org/docs/devel/devel-4.html#ss4.4