ส่งอีเมลผ่าน PowerShell บน Windows ด้วย Gmail Account

พอดีมีบุคคลที่ผมนับถือท่านหนึ่ง สอบถามเข้ามาเกี่ยวกับเรื่องนี้ ผมเลยหาข้อมูล แล้วก็ทดสอบ จนได้ผลลัพธ์ออกมา โดยส่วนตัวไม่เคยทำอะไรประมาณนี้ แต่ในเมื่อมีคำถาม ก็เลยต้องหาคำตอบครับ

ออกตัวก่อนว่าผมไม่ใช่ผู้เชี่ยวชาญ Script หรือ Command Line แต่อย่างใด ก็เลยจะขออธิบายในแบบลูกทุ่งๆ หน่อยนะครับ

โดยจริงๆ แล้วมีหลากหลายวิธีที่จะใช้ส่งอีเมลผ่านทาง PowerShell แต่วิธีที่จะแนะนำนี้ คือวิธีที่ผมได้ทดสอบแล้วผ่าน ไม่มีปัญหาใดๆ

Gmail PowerShell

เริ่มจากเปิด PowerShell ด้วยสิทธิ์ Admin โดยคลิกเลือก Start แล้วค้นหาด้วยคำว่า PowerShell จะพบรายการชื่อว่า Windows PowerShell ให้คลิกขวาแล้วเลือก Run as Administrator (อย่าลืมตรวจสอบสิทธิ์ด้วยนะครับ)

เมื่อหน้าต่าง PowerShell ปรากฎขึ้นมาแล้ว เราก็มาดูวิธีการใช้คำสั่งในการส่งอีเมลกันดีกว่า โดยวันนี้ผมจะทดสอบโดยการใช้อีเมลที่เป็น G Suite Account หรือ Google Apps Account นั่นเอง โดยจะทดสอบส่งไปยัง Hotmail Account นะครับ

คำสั่งที่ใช้สำหรับส่งอีเมลผ่าน PowerShell นั้น จะมีทั้งคำสั่งในการส่งอีเมล โดยการส่งค่าพารามิเตอร์ต่างๆ ไปพร้อมกันกับคำสั่ง เรามาเริ่มส่งอีเมลที่มีแค่ Subject กับ Body ก่อนดีกว่า โดยใช้คำสั่งดังนี้

2559-11-14 10_36_10-Administrator_ Windows PowerShell

หรือดูจากตัวอย่างด้านล่างนี้อาจจะชัดเจนกว่า ซึ่งหากต้องการทดสอบส่งอีเมลดู ลอง copy ข้อความนี้ไป แล้วแก้ไขข้อความในส่วนที่เป็นตัวหนังสือสีแดง ให้เป็นข้อมูลของตัวเอง แล้วทดลองส่งดูนะครับ

$EmailFrom = “<your email account>
$EmailTo = “<destination email account>
$Subject = “<subject>
$Body = “<body text>
$SMTPServer = “smtp.gmail.com”
$SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 587)
$SMTPClient.EnableSsl = $true
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential(“<your email account>”, “<your password>”);
$SMTPClient.Send($EmailFrom, $EmailTo, $Subject, $Body)

 

ขอบคุณข้อมูลจากเว็บไซต์
http://www.howtogeek.com/

Tatat Thanakanok

Tatat Thanakanok (Author)

View Post

Leave a Reply

Your email address will not be published. Required fields are marked *