หากโปรแกรมของคุณทำงานบนระบบ Linux/Unix คุณสามารถใช้เครื่องมือ sendmail ใน Perl เพื่อส่งอีเมลได้
ต่อไปนี้เป็นตัวอย่างสคริปต์ง่ายๆ สำหรับการส่งอีเมล:
ตัวอย่าง
#!/usr/bin/perl # เมื่อรับอีเมล ฉันตั้งเป็นอีเมล QQ ของฉัน คุณต้องแก้ไขเป็นอีเมลของคุณเอง $to = ' [email protected] ' ; #อีเมลของผู้ส่ง $ from = ' [email protected] ' ; $subject = ' บทช่วยสอน Coder Perl การส่งอีเมลทดสอบ ' ; $message = ' นี่คืออีเมลที่ส่งโดยใช้ Perl ' ; open ( MAIL , " |/usr/sbin/sendmail -t " ) # ส่วนหัวของเมล พิมพ์ จดหมาย " ถึง: $to n " ; จดหมาย " จาก: $จาก n " ; จดหมาย " หัวเรื่อง: $เรื่อง n n " ; # ข้อมูลอีเมล พิมพ์ จดหมาย $ message ; ปิด ( MAIL ) ; " ส่งอีเมลเรียบร้อยแล้ว n " ; เมื่อรันโปรแกรมข้างต้น ผลลัพธ์ที่ได้คือ:
ส่งอีเมลเรียบร้อยแล้ว
ภายใต้สถานการณ์ปกติ อีเมลข้างต้นจะถูกดักฟังโดยกล่องจดหมาย QQ เราสามารถเพิ่มลงในไวท์ลิสต์ได้ วิธีดำเนินการสามารถคลิกได้: https://kf.qq.com/faq/120322fu63YV130805rYRFzu.html
หลังจากเข้าร่วมไวท์ลิสต์แล้วคุณก็สามารถรับอีเมลได้ตามปกติ
ส่งอีเมลรูปแบบ HTML
เราสามารถเพิ่ม Content-type: text/htmln ในส่วนหัวของอีเมลเพื่อส่งอีเมลในรูปแบบ HTML ได้ ตัวอย่างดังต่อไปนี้:
ตัวอย่าง
#!/usr/bin/perl # เมื่อรับอีเมล ฉันตั้งเป็นอีเมล QQ ของฉัน คุณต้องแก้ไขเป็นอีเมลของคุณเอง $to = ' [email protected] ' ; #อีเมลของผู้ส่ง $ from = ' [email protected] ' ; $subject = ' Coder Tutorial Perl ส่งอีเมลทดสอบ ' ; $message = ' <h1>นี่คืออีเมลที่ส่งโดยใช้ Perl<h1><p>สวัสดี ฉันมาจาก Coder Tutorial ที่อยู่คือ: http:// /www .codercto.com. </p> ' ; open ( MAIL , " |/usr/sbin/
sendmail -t " ) # ส่วนหัวของเมล พิมพ์ จดหมาย " ถึง: $to n " ; จดหมาย " จาก: $จาก n " ; จดหมาย " หัวเรื่อง: $เรื่อง n " ; จดหมาย " Content-type: text/html n " ; # ข้อมูลอีเมล พิมพ์ จดหมาย $ message ; ปิด ( MAIL ) ; " ส่งอีเมลเรียบร้อยแล้ว n " ; หลังจากดำเนินการสำเร็จ ให้ตรวจสอบเนื้อหาอีเมลดังที่แสดงด้านล่าง:
การใช้โมดูล MIME::Lite
หากคุณใช้ระบบหน้าต่าง จะไม่มีเครื่องมือ sendmail ในขณะนี้ คุณสามารถใช้โมดูล MIME:Lite ของ Perl เป็นโปรแกรมรับส่งอีเมลเพื่อส่งอีเมลได้
ที่อยู่การดาวน์โหลดโมดูล MIME:Lite คือ: MIME-Lite-3.030.tar.gz
ที่นี่เราใช้ cpan เพื่อติดตั้งโดยตรง (ต้องมีสิทธิ์รูท) โดยไม่ต้องดาวน์โหลด:
$ cpan -i MIME::Lite...... /usr/bin/make install -- ตกลง
หลังจากติดตั้งสำเร็จแล้ว เรามาสาธิตตัวอย่าง:
ตัวอย่าง
#!/usr/bin/perl ใช้ MIME::Lite ; # รับอีเมล ที่นี่ฉันตั้งเป็นอีเมล QQ ของฉัน คุณต้องแก้ไขเป็นอีเมลของคุณเอง $to = ' [email protected] ' ; # Cc's, คั่นหลายรายการด้วยเครื่องหมายจุลภาค # $ซีซี = '[email protected], [email protected]'; #อีเมล์ของผู้ส่ง $ from = ' [email protected] ' ; $subject = ' บทช่วยสอน Coder Perl การส่งอีเมลทดสอบ ' ; $message = ' นี่คืออีเมลที่ส่งโดยใช้ Perl โดยใช้โมดูล MIME::Lite ' ; $msg = MIME::Lite -> ใหม่ ( จาก => $จาก , ถึง => $ถึง , สำเนา => $cc , หัวเรื่อง => $เรื่อง , ข้อมูล => $ข้อความ ) ; $msg - > ส่ง ; " ส่งอีเมลเรียบร้อยแล้ว n " ; หลังจากดำเนินการสำเร็จ ให้ตรวจสอบเนื้อหาอีเมลดังที่แสดงด้านล่าง:
ส่งอีเมลในรูปแบบ HTML
เราสามารถเพิ่ม Content-type: text/htmln ในส่วนหัวของอีเมลเพื่อส่งอีเมลในรูปแบบ HTML ได้ ตัวอย่างดังต่อไปนี้:
ตัวอย่าง
#!/usr/bin/perl ใช้ MIME::Lite ; # รับอีเมล ที่นี่ฉันตั้งเป็นอีเมล QQ ของฉัน คุณต้องแก้ไขเป็นอีเมลของคุณเอง $to = ' [email protected] ' ; # Cc's, คั่นหลายรายการด้วยเครื่องหมายจุลภาค # $ซีซี = '[email protected], [email protected]'; #อีเมล์ของผู้ส่ง $ from = ' [email protected] ' ; $subject = ' บทช่วยสอน Coder Perl การส่งอีเมลทดสอบ ' ; $message = ' <h1>นี่คืออีเมลที่ส่งโดยใช้ Perl<h1><p>โดยใช้โมดูล MIME::Lite </p><p>จากบทช่วยสอนการเขียนโค้ด ที่อยู่คือ: http://www.codercto.com </p> ' ; $msg = MIME::Lite -> ใหม่ ( จาก => $จาก , ถึง => $ถึง , สำเนา => $cc , หัวเรื่อง => $เรื่อง , ข้อมูล => $ข้อความ ) ; #เพิ่มข้อมูลส่วนหัว $msg -> attr ( " content-type " = > " text/html " ) ; $msg -> ส่ง ; " ส่งอีเมลเรียบร้อยแล้ว n " ; หลังจากดำเนินการสำเร็จ ให้ตรวจสอบเนื้อหาอีเมลดังที่แสดงด้านล่าง:
ส่งอีเมลพร้อมไฟล์แนบ
ตัวอย่างการส่งอีเมลพร้อมไฟล์แนบมีดังนี้:
ตัวอย่าง
#!/usr/bin/perl ใช้ MIME::Lite ; # รับอีเมล ที่นี่ฉันตั้งเป็นอีเมล QQ ของฉัน คุณต้องแก้ไขเป็นอีเมลของคุณเอง $to = ' [email protected] ' ; # Cc's, คั่นหลายรายการด้วยเครื่องหมายจุลภาค # $ซีซี = '[email protected], [email protected]'; #อีเมล์ของผู้ส่ง $ from = ' [email protected] ' ; $subject = ' บทช่วยสอน Coder Perl การส่งอีเมลทดสอบ ' ; $message = ' นี่คืออีเมลที่ส่งโดยใช้ Perl โดยใช้โมดูล MIME::Lite และมีไฟล์แนบ ' ; $msg = MIME::Lite -> ใหม่ ( จาก => $จาก , ถึง => $ถึง , สำเนา => $cc , หัวเรื่อง => $เรื่อง , พิมพ์ => ' หลายส่วน/ผสม ' #แท็กไฟล์แนบ ) ; $msg -> แนบ - พิมพ์ => ' ข้อความ ' , ข้อมูล => $ข้อความ ) ; #ระบุข้อมูลไฟล์แนบ $msg -> แนบ ( Type => ' ข้อความ ' , เส้นทาง => ' ./codercto.txt ' , # ในไดเรกทอรีปัจจุบัน ชื่อไฟล์ => ' codercto.txt ' , การจัดการ => ' สิ่งที่แนบมา ' ) ; $msg - > ส่ง ; " ส่งอีเมลเรียบร้อยแล้ว n " ; หลังจากดำเนินการสำเร็จ ให้ตรวจสอบเนื้อหาอีเมลดังที่แสดงด้านล่าง:
คุณสามารถเพิ่มไฟล์แนบได้หลายไฟล์โดยใช้ $msg->ไฟล์แนบหลายไฟล์