นี่คือคำสั่ง cgifile ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้เวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
cgiemail, cgiecho, cgifile - เครื่องมือแปลง CGI Form-to-Mail
พื้นที่ ซีจีเมล ผู้ใช้งาน ให้คำแนะนำ
คู่มือนี้จะช่วยคุณเขียนแบบฟอร์ม WWW ที่ส่งข้อความอีเมลถึงคุณ NS
จำเป็นต้องมีขั้นตอนต่อไปนี้:
· สร้างเทมเพลตอีเมล
· ใส่ลิงค์ไปยังเทมเพลตบนหน้าของคุณ
· ตัดสินใจว่า mailto: ลิงก์จะทำหรือไม่
· สร้างแบบฟอร์ม HTML
· สร้างรูปแบบ HTML ขั้นสูงขึ้น
· ตรวจสอบให้แน่ใจว่า ACTION ถูกต้อง
·ลองใช้แบบฟอร์มของคุณด้วย cgiecho
· ถ่ายทอดสดด้วย cgiemail
· ดีบักหากคุณไม่ได้รับเมล
ขั้นตอนต่อไปนี้เป็นทางเลือก
· เพิ่มข้อความในหน้าความสำเร็จ
· ใช้หน้าความสำเร็จอื่น
· ป้อนข้อมูลที่จำเป็น
· ระบุการจัดรูปแบบสำหรับอินพุตบางรายการ
· ใช้ตัวแปรสภาพแวดล้อม CGI
สร้างบัญชีตัวแทน an อีเมล แบบ
ก่อนที่คุณจะเริ่มรับข้อความอีเมลผ่านเว็บ คุณควรตัดสินใจว่าสิ่งเหล่านี้
ข้อความควรมีลักษณะดังนี้ สร้างไฟล์ ASCII ที่เรียกว่าเทมเพลตอีเมลที่มีลักษณะ
บางอย่างเช่นนี้:
ไปที่: [ป้องกันอีเมล] ส่วนหัว
เรื่อง: คำถามที่สาม
บรรทัดว่าง
คุณชื่ออะไร? [ชื่อของคุณ]
ภารกิจของคุณคืออะไร? [เควส] BODY
คุณชอบสีอะไร? [สี]
ในแง่หนึ่ง เทมเพลตนี้เป็นแบบฟรีฟอร์ม ผู้ที่ต้องการส่งอีเมลถึงคุณสามารถดาวน์โหลดได้
เทมเพลตนี้ กรอกแล้วส่งถึงคุณทางไปรษณีย์ อย่างไรก็ตาม จะใช้เทมเพลตนี้ด้วย
โดยโปรแกรม cgiemail ดังนั้น ก่อนที่คุณจะอัปโหลดไฟล์ไปยังเซิร์ฟเวอร์ WWW ของคุณ โปรดระมัดระวัง
ปฏิบัติตามแนวทางเหล่านี้:
· เมื่อใดก็ตามที่คุณต้องการให้ผู้ใช้แบบฟอร์มของคุณให้ข้อมูล ให้ใช้คำเดียว
ภายในวงเล็บเหลี่ยมโดยไม่มีช่องว่าง เช่น ชื่อของคุณ: [ชื่อของคุณ] ไม่ใช่ [ใส่ชื่อของคุณ
ที่นี่].
· ตรวจสอบให้แน่ใจว่าที่อยู่ในช่องถึง: ถูกต้อง
· หากมีบรรทัดว่างระหว่างบรรทัดส่วนหัว ให้ลบออก
· หากมีบรรทัดว่างก่อนบรรทัดส่วนหัว ให้ลบออก
· ตรวจสอบให้แน่ใจว่าบรรทัดส่วนหัวทั้งหมดของคุณถูกต้อง อักขระตัวแรกในบรรทัดต้องเป็น a
จดหมาย. ข้อมูลส่วนใหญ่ควรอยู่ในเนื้อหาของข้อความ อย่าแต่งเอง
ส่วนหัว
· ตรวจสอบให้แน่ใจว่ามีบรรทัดว่างระหว่างบรรทัดส่วนหัวและเนื้อหา
· อย่าลืมบันทึกเป็นข้อความ ASCII ตัวอย่างเช่น หากคุณใช้ Microsoft Word ให้ใช้
"บันทึกเป็น" และเลือก "เฉพาะข้อความที่มีตัวแบ่งบรรทัด"
· หากคุณสร้างไฟล์บน Mac อย่าลืมอัปโหลดเป็นข้อความ เช่น แปลโดย CR
(คอมพิวเตอร์ Unix มีรหัสที่แตกต่างกันซึ่งแสดงถึงจุดสิ้นสุดของบรรทัดมากกว่าที่ Mac ทำ ดังนั้น .ของคุณ
ไฟล์อาจดูเหมือนหนึ่งบรรทัดยาวสำหรับคอมพิวเตอร์ Unix)
ภายในหลักเกณฑ์เหล่านี้มีความยืดหยุ่นสูง คุณสามารถใส่ Bcc:, X-Face: หรืออะไรก็ได้
ส่วนหัวอื่น ๆ ในส่วนหัว คุณสามารถใส่สิ่งต่าง ๆ เช่น Cc: [yourname] ไว้ในส่วนหัว เป็น
ความคิดสร้างสรรค์. อย่าใส่อะไรลงไปในนั้น คุณไม่ต้องการให้เว็บมาสเตอร์ของคุณเห็น
เพราะนั่นคือที่ที่ข้อความตีกลับ
ตอนนี้ไปข้างหน้าและอัปโหลดเทมเพลตอีเมลของคุณไปยังเซิร์ฟเวอร์ WWW และดูด้วย your
เว็บเบราว์เซอร์ WWW
ใส่ a ลิงค์ ไปยัง เทมเพลต on ธุรกิจ หน้า.
นี่คือตัวอย่าง:
คุณต้องการข้ามสะพานหรือไม่? ดาวน์โหลดแบบฟอร์ม "คำถามที่สาม" ของฉันแล้วส่งมาที่
<[ป้องกันอีเมล]>.
แม้หลังจากที่คุณสร้างแบบฟอร์ม WWW คุณจะต้องปล่อยให้ลิงก์นี้เพิ่มขึ้น
การเข้าถึงสำหรับผู้ใช้ที่มีความพิการ
ตัดสิน if a mailto: ลิงค์ จะ ทำ
หากไม่มี HTML ที่ซับซ้อน คุณมีวิธีให้คนใน WWW ส่งให้คุณ
ข้อมูลที่คุณต้องการ ก่อนที่คุณจะพยายามสร้างฟอร์ม HTML ให้ตัดสินใจว่า
มันคุ้มค่าจริงๆ แบบฟอร์มบน WWW มีข้อเสียสองประการ:
· คุณจะได้รับอีเมลไร้สาระมากมายจากผู้ที่เพียงแค่ ``ท่องเว็บ''
· ที่อยู่อีเมลของผู้ใช้ถูกพิมพ์ด้วยตนเอง และมักจะพิมพ์ผิด เพื่อให้คุณมี
ไม่มีทางที่จะตอบ นี่เป็นปัญหาน้อยกว่ากับลิงก์ mailto:
สร้างบัญชีตัวแทน HTML ฟอร์ม
หากคุณตัดสินใจสร้างแบบฟอร์ม HTML คุณต้องให้วิธีการจัดหา
ที่อยู่อีเมล. ด้วยลิงก์ mailto: จดหมายของพวกเขาจะระบุที่อยู่จาก: สำหรับ
พวกเขา. แต่ตอนนี้ คุณต้องเพิ่มบรรทัดที่ด้านบนของเทมเพลตอีเมลของคุณดังนี้:
จาก: [อีเมล]
นี่คือตัวอย่างแบบฟอร์ม HTML
ที่อยู่อีเมลของคุณ: ____________________
ชื่อของคุณ: ____________________
ภารกิจของคุณ: ____________________
สีโปรดของคุณ: ____________________
ส่งอีเมล (ตัวอย่างนี้ไม่ได้ส่งอีเมลจริงๆ)
นี่คือที่มาของ HTML:
<รูปแบบวิธีการ="โพสต์"
การกระทำ="http://web.mit.edu/bin/cgiecho/wwwdev/cgiemail/questions3.txt">
ที่อยู่อีเมลของคุณ:
ชื่อของคุณ:
ภารกิจของคุณ:
สีโปรดของคุณ:
นี่เป็นตัวอย่างที่ง่ายมาก โปรดทราบว่า NAME ของอินพุตแต่ละรายการสอดคล้องกับสิ่งที่คุณ
ก่อนหน้านี้ใส่ในเทมเพลตอีเมล ในตัวอย่างนี้ ได้แก่ อีเมล ชื่อของคุณ เควส
และสี นี่คือแนวคิดหลักในการใช้ cgiemail ระวังที่จะทำให้มัน
เหมือนกัน; หากคุณใส่ NAME="colour" ในรูปแบบ HTML และ [color] (สังเกตการสะกดคำ
ส่วนต่าง) ในเทมเพลตอีเมลของคุณ ข้อมูลที่ป้อนจะไม่ปรากฏในอีเมล
สร้างบัญชีตัวแทน ข้อมูลเพิ่มเติม สูง HTML รูปแบบ
หากต้องการเรียนรู้การสร้างแบบฟอร์มที่ซับซ้อนยิ่งขึ้น โปรดอ่านคู่มือของ NCSA แบบฟอร์มตัวอย่างทั้งหมดของพวกเขา
สามารถแปลงเป็นรูปแบบ cgiemail ได้โดยการเปลี่ยน ACTION ไม่เหมือนรูปแบบอื่นๆ-to-
โปรแกรมอีเมล คุณไม่จำเป็นต้องใช้อินพุตที่ซ่อนอยู่ด้วยชื่อพิเศษ
อินพุตทุกประเภท (ปุ่มตัวเลือก ฯลฯ) ทำงานในลักษณะเดียวกัน อินพุตแต่ละรายการต้องมี NAME และ
ชื่อนั้นจะต้องปรากฏในวงเล็บเหลี่ยมในเทมเพลตอีเมลของคุณ มันง่ายมาก ถึง
รับแนวคิดเพิ่มเติม ดูหน้าตัวอย่าง cgiemail
ทำ แน่ใจ ACTION is แก้ไข.
ส่วนที่ยากที่สุดของแบบฟอร์ม HTML คือการตั้งค่า ACTION อย่างถูกต้อง เริ่มต้นด้วย
URL ของเทมเพลตอีเมลของคุณ จากนั้นแบ่งออกเป็นสองส่วน เช่น
http://web.mit.edu/wwwdev/cgiemail/questions3.txt
-
`--- ตอนที่ 1 ---' ` -------- ตอนที่ 2 ----------'
จากนั้นคุณใส่ชื่อสคริปต์ไว้ตรงกลาง โดยปกตินี่คือ ``/cgi-bin/cgiecho'' แต่มัน
ขึ้นอยู่กับการกำหนดค่าเซิร์ฟเวอร์ของคุณ บน web.mit.edu มันจะเป็น
``/bin/cgiecho'' ดังนั้น ACTION ของฉันจึงมีลักษณะดังนี้:
http://web.mit.edu/bin/cgiecho/wwwdev/cgiemail/questions3.txt
-
`--- ตอนที่ 1 ---' ชื่อสคริปต์ ` -------- ตอนที่ 2 ----------'
เพื่อความง่าย คุณอาจละเว้นส่วนที่ 1 แต่คุณต้องใส่ไว้หากต้องการทดสอบ
แบบฟอร์มเป็นไฟล์ในเครื่อง หากคุณไม่รู้ว่ามันหมายถึงอะไร ข้ามส่วนที่ 1 ได้เลย
ดู ออก ธุรกิจ ฟอร์ม กับ จิ๊กโก๋
เปิดแบบฟอร์มของคุณลงในเบราว์เซอร์ WWW ที่คุณชื่นชอบ กรอกข้อมูล และส่ง คุณ
ควรดูว่าแบบฟอร์มที่ประมวลผลแล้วเป็นอย่างไร หากคุณเห็นข้อผิดพลาดเกี่ยวกับตัวเลขแทน
ใกล้ 500 ACTION ของคุณอาจตั้งค่าผิด กลับไปที่ขั้นตอนก่อนหน้า
หากข้อมูลที่ป้อนของคุณดูเหมือนจะไม่ปรากฏในแบบฟอร์มที่ประมวลผลแล้ว ตรวจสอบให้แน่ใจว่า
อินพุตมีชื่อเหมือนกันทุกประการในรูปแบบ HTML เช่นเดียวกับในเทมเพลต ASCII เช่น
NAME="ชื่อของคุณ" ในรูปแบบ HTML และ [ชื่อของคุณ] ในเทมเพลตอีเมล
Go สด กับ อีเมลล์
ตอนนี้เปลี่ยน cgiecho เป็น cgiemail ใน ACTION ของแบบฟอร์ม HTML ของคุณ ลองดูสิ คุณควร
รับข้อความอีเมลพร้อมแบบฟอร์มที่ดำเนินการแล้ว ถ้าคุณได้หน้าสำเร็จแต่ทำไม่ได้
รับเมล มีปัญหากับไฟล์เทมเพลตของคุณ กลับไปตรวจสอบให้แน่ใจว่าคุณ
ปฏิบัติตามคำแนะนำในขั้นตอนที่ 1 อย่างถูกต้อง
ถ้าได้ผลก็ยินดีด้วย!
9. ดีบักหากคุณไม่ได้รับเมล
โดยปกติ เมลจะถูกส่งแบบอะซิงโครนัส หมายความว่าจะเข้าคิวเพื่อส่งที่a
เวลาที่สะดวก. เมลอะซิงโครนัสถูกส่งอย่างมีประสิทธิภาพและเชื่อถือได้มากกว่า แต่มี
ข้อเสียที่ปัญหาสามารถรายงานได้โดยการส่งข้อความแสดงข้อผิดพลาดกลับไปที่
ผู้ส่ง. สำหรับระบบเมล ปรากฏว่าผู้ส่งเมลเป็นเว็บเซิร์ฟเวอร์ ดังนั้น
ข้อความแสดงข้อผิดพลาดจะไม่ได้รับถึงคุณ
หากคุณไม่ได้รับเมล คุณสามารถใช้การส่งเมลแบบซิงโครนัสชั่วคราวโดยสร้าง
อินพุตที่ซ่อนอยู่ชื่อ cgiemail-mailopt และให้ค่าที่มี "ซิงค์" เช่น
หมายเหตุ: สำหรับรุ่น 1.1 สิ่งนี้ใช้ไม่ได้ ขอให้ผู้ดูแลเว็บของคุณติดตั้งรุ่นใหม่กว่า
จดหมายบางฉบับมีส่วนขยายที่ไม่เป็นมาตรฐานซึ่งส่งการตีกลับไปยังที่อยู่ในข้อผิดพลาด-
ถึง: ส่วนหัวนอกเหนือจากเว็บเซิร์ฟเวอร์ อย่างไรก็ตาม ข้อผิดพลาดบางอย่างทำให้หัวข้อนี้บรรทัด
ไม่สามารถอ่านได้ ดังนั้นจึงไม่มีทางแน่ใจได้เลยว่าการตีกลับจะส่งถึงคุณ
ตัวเลือก: เพิ่ม ข้อความ ไปยัง ความสำเร็จ หน้า.
เมื่อส่งอีเมล หน้าที่ชื่อ ``ความสำเร็จ'' จะปรากฏขึ้นพร้อมกับข้อความอีเมล
คุณสามารถใช้ตัวแปรที่ซ่อนอยู่ที่เรียกว่า ``ภาคผนวก'' เพื่อเพิ่มข้อความของคุณเองได้ ง่ายๆแบบนี้
ตัวอย่าง:
หากคุณยินดีที่จะสมมติว่าผู้อ่านแบบฟอร์มของคุณกำลังใช้ซอฟต์แวร์เบราว์เซอร์ล่าสุด
เช่น Lynx 2.6 หรือ Netscape 3.0 จากนั้นคุณอาจใส่มาร์กอัป HTML ลงในตัวแปรนี้โดยใช้
เอนทิตีอักขระที่เหมาะสม ตัวอย่างเช่น หากคุณต้องการเพิ่ม
ขอขอบคุณ!
จากนั้นมาร์กอัป HTML จะเป็น
ขอขอบคุณ!
หมายความว่าคุณจะต้องมีสิ่งต่อไปนี้ในแบบฟอร์มของคุณ:
<INPUT TYPE="ซ่อน" NAME="ภาคผนวก"
VALUE="<em>ขอบคุณ!</em>">
โปรดทราบว่านอกจากจะเขียนยากแล้ว คุณลักษณะนี้ใช้ไม่ได้สำหรับผู้ที่ใช้รุ่นเก่ากว่า
ซอฟต์แวร์เบราว์เซอร์
ตัวเลือก: ใช้ an สลับกัน ความสำเร็จ หน้า.
หากคุณไม่ชอบหน้าเริ่มต้นที่ปรากฏขึ้นเมื่อส่งอีเมลสำเร็จ คุณสามารถ
ระบุ URL สำรองโดยใช้ตัวแปรที่ซ่อนอยู่ที่เรียกว่า ``success'' ในรูปแบบ HTML ของคุณ
เช่น
<INPUT TYPE="ซ่อน" NAME="ความสำเร็จ" VALUE="http://web.mit.edu/">
หมายเหตุ: เริ่มต้น URL ของคุณด้วย / หรือด้วย http:///. มิฉะนั้น cgiemail จะนำเบราว์เซอร์ของคุณ
การเรียกใช้ cgiemail ครั้งที่สอง ทำให้เกิดข้อผิดพลาด ไม่มีการแทนที่ตัวแปร
ณ รีลีส 1.3 ไม่มีทางที่จะทำให้หน้าความสำเร็จสำรองนี้มีข้อมูล
ผู้ใช้ส่งในแบบฟอร์ม ฟีเจอร์นี้น่าจะถูกเพิ่มในรุ่นต่อๆ ไป
ตัวเลือก: ทำ บาง ปัจจัยการผลิต จำเป็นต้องใช้
หากคุณต้องการปฏิเสธแบบฟอร์มโดยอัตโนมัติโดยเว้นว่างไว้ ให้เพิ่ม
คำนำหน้า ``required-'' กับชื่อของอินพุตทั้งในรูปแบบ HTML และอีเมลของคุณ
แม่แบบ นี่คือตัวอย่าง:
ในรูปแบบ HTML:
ชื่อของคุณ:
ในเทมเพลตอีเมล
ชื่อของคุณ: [required-yourname]
ตัวเลือก: ระบุ การจัดรูปแบบ for บาง ปัจจัยการผลิต
หากในเทมเพลตอีเมลของคุณ ข้อความในวงเล็บเหลี่ยมขึ้นต้นด้วย % cgiemail will
ใช้ พิมพ์f() ฟังก์ชันใน C บนชื่อฟิลด์หลังเครื่องหมายจุลภาค ถ้าคุณไม่คุ้นเคย
ด้วยฟังก์ชันนี้ ให้ดูในหนังสือเกี่ยวกับซี หากคุณคุ้นเคยกับมัน โปรดสังเกตสิ่งเหล่านี้
ความแตกต่างสองประการ:
· อักขระตัวแรกในสตริงรูปแบบต้องเป็น %
· อักขระเช่น \n และ \t ต้องเป็นตัวอักษร หากต้องการขึ้นบรรทัดใหม่ ต้องใส่
ขึ้นบรรทัดใหม่ก่อนเครื่องหมายจุลภาค แม้ว่าจะดูแปลก ตัวอย่างเช่น if
Godzilla's Pizza ต้องการท็อปปิ้งหนึ่งรายการต่อบรรทัด พวกเขาจะใส่รายการต่อไปนี้ใน
เทมเพลตอีเมลของพวกเขา:
[%NS
,โรยหน้า]
ตัวเลือก: ใช้ CGI สิ่งแวดล้อม ตัวแปร
คุณลักษณะนี้อาจทำงานหรือไม่ก็ได้ ขึ้นอยู่กับว่าเว็บมาสเตอร์ของคุณเปิดใช้งานหรือไม่
เมื่อตั้งค่า cgiemail
นอกจากอินพุตแบบฟอร์มแล้ว เทมเพลตอีเมลของคุณสามารถรวมตัวแปรสภาพแวดล้อม CGI ได้
โดยนำเครื่องหมายดอลลาร์นำหน้าชื่อตัวแปร ตัวอย่างเช่น,
[$HTTP_USER_AGENT]
จะใส่ชื่อเบราว์เซอร์และ/หรือเกตเวย์ของผู้ใช้ในข้อความอีเมลของคุณ เพื่อที่จะ
เคารพความเป็นส่วนตัว แบบฟอร์ม HTML ของคุณควรเตือนผู้ใช้เกี่ยวกับข้อมูลใด ๆ เกี่ยวกับ
ที่จะรวมอยู่ในอีเมล เช่น HTTP_USER_AGENT, REMOTE_ADDR
ธุรการ
ต้นน้ำติดต่อ: cgiemail[ป้องกันอีเมล]>
ผู้ดูแลเดเบียน: Anibal Monsalve Salazar[ป้องกันอีเมล]>
ข้อมูลที่สมบูรณ์เกี่ยวกับการสร้าง การติดตั้ง และการใช้ cgiemail มีอยู่ใน WWW:
http://web.mit.edu/wwwdev/cgiemail/
ใช้ cgifile ออนไลน์โดยใช้บริการ onworks.net