วิธีที่ง่ายที่สุดในการส่งอีเมลไฟล์ผ่านบรรทัดคำสั่งใน * nix?


10

คำสั่งที่ง่ายที่สุด - และพกพาได้ดีที่สุดคืออะไร - ฉันสามารถใช้ส่งอีเมลไฟล์เดียวเป็นไฟล์แนบ * nix shell ได้?

คำตอบ:


11

สมมติว่าเป็นไฟล์แนบไบนารี:

uuencode [filename] [filename] | เมล -s [หัวเรื่อง] [ที่อยู่ผู้รับ]

คุณไม่จำเป็นต้องกังวลกับ UUencoding หากเป็นเพียงไฟล์ข้อความเช่น:

เมล -s [หัวเรื่อง] [ที่อยู่ผู้รับ] <[ชื่อไฟล์]

* NIX ส่วนใหญ่มีเมลและ uuencode ดังนั้นควรทำงานได้ทุกที่


ถ้าฉันต้องการไฟล์ข้อความเป็นไฟล์แนบและไม่อยู่ในเนื้อหาของข้อความล่ะ
Yuval A

ขึ้นอยู่กับ - ฉันไม่คิดว่าจดหมาย GNU ธรรมดาสามารถทำได้ดังนั้นคุณจะต้องใช้โปรแกรมรับส่งจดหมายจริง ต้นสน, mutt, หรืออะไรที่คล้ายกัน สิ่งใดที่พร้อมให้คุณใช้ได้นั้นขึ้นอยู่กับระบบที่คุณติดตั้ง การใช้ mutt คำตอบของ Gavin (ด้านล่าง) จะใช้ได้ดี
RainyRat

สนดีจัง! ฉันสามารถใช้มันผ่านทางบรรทัดคำสั่งด้วยการใช้ GUI แบบข้อความได้หรือไม่?
Yuval A

ฉันคิดว่ามันทำไม่ได้ ดูที่staff.washington.edu/chappa/pine/info/outgoing.htmlเพื่อดูข้อมูลเพิ่มเติม
RainyRat

11

เมื่อใช้ mutt คุณสามารถ:

mutt -z -a <file> -s <subject> -- user@example.com

หรือถ้าคุณไม่ต้องการพิมพ์เนื้อหา:

mutt -z -a <file> -s <subject> -- user@example.com < /dev/null


โง่ไม่สามารถใช้ได้ในระบบของฉันขอบคุณนะ
Yuval

ฉันคิดว่าคุณกำลังจะพบว่านี่จะเป็นการโยนระหว่างสิ่งที่ง่ายและสิ่งที่พกพาได้ mailx เป็นแบบพกพา แต่ไม่ใช่เรื่องง่าย ในฐานะที่ RainyRat กล่าวถึงฉันคิดว่าคุณจะต้องไปกับ MUA แบบเต็มและเรียกใช้จากบรรทัดคำสั่ง
Gavin McTaggart

2
ฉันต้องเพิ่ม--ที่อยู่อีเมลก่อนเพื่อให้คำสั่งเหล่านี้ใช้งานได้
Autumnsault

ในความเป็นจริงจำเป็นต้องมีเครื่องหมายขีดกลางเพื่อคั่นที่อยู่อีเมลจากชื่อไฟล์ "- user@example.com" @DoctorMohawk ถูกต้อง ความพยายามที่จะเพิ่มพวกเขาไปยังเนื้อหาของคำตอบ
Jeff Clayton

2

" sendEmailเป็นไคลเอนต์อีเมล SMTP บรรทัดคำสั่งที่มีน้ำหนักเบาหากคุณต้องการส่งอีเมลจากบรรทัดคำสั่งโปรแกรมฟรีนี้สมบูรณ์แบบ: ใช้งานง่ายและมีฟีเจอร์มากมายมันถูกออกแบบมาเพื่อใช้ในสคริปต์ทุบตีไฟล์แบตช์ , โปรแกรม Perl และเว็บไซต์ แต่สามารถปรับเปลี่ยนได้และมีแนวโน้มที่จะตอบสนองความต้องการของคุณ SendEmail เขียนด้วย Perl และมีลักษณะเฉพาะที่ไม่ต้องใช้ MODULES มีตัวเลือกบรรทัดคำสั่งที่ใช้งานง่ายและยืดหยุ่นทำให้ง่ายมาก เพื่อเรียนรู้และใช้ [แพลตฟอร์มที่รองรับ: Linux, BSD, OS X, Windows 98, Windows NT, Windows 2000, & Windows XP] "

ฉันเคยใช้มันมาก่อนและชอบมันมาก คุณสามารถแนบไฟล์ด้วยตัวเลือก -a


+1 - นี่คือสิ่งที่สมบูรณ์แบบสำหรับสิ่งที่ฉันต้องการเพราะมันง่ายและยังคงได้รับการดูแล! หากคุณอยู่ในระบบ Debian aptitude install sendemailคุณสามารถเพียงแค่ โปรดทราบว่าคำสั่งจะได้รับการติดตั้งเช่นเดียวsendEmailกับตัวใหญ่ 'E'
Topher Fangio

ที่จริงแล้ว tarball มีสคริปต์ perl และเอกสารสองสามฉบับ คุณสามารถดาวน์โหลดดาวน์โหลดแยกและเรียกใช้ (หากระบบของคุณมี Perl) ดีใจที่คุณชอบมัน
Clinton Blackmore

1

ฉันไม่สามารถเพิ่มความคิดเห็น แต่ ..

  • คำตอบของสิ่งนี้จะขึ้นอยู่กับว่าmailxคุณมีอนุพันธ์ของคุณมากแค่ไหน
  • แม้ว่าไฟล์ควรจะแสดงโดยไม่มีปัญหาใด ๆ โดย MUA ที่ได้รับการวางท่อจากในuuencodeทางเทคนิคจะไม่สร้างอีเมลพร้อมไฟล์แนบ ดูที่มาของอีเมลที่คุณได้รับเพื่อดูว่าทำไม

+1 สำหรับความจริง ฉันไม่ทราบด้วยซ้ำว่ามี mailx รุ่นหนึ่งที่สามารถส่งไฟล์แนบได้ คุณถูกต้องเกี่ยวกับการเข้ารหัส uudencode ที่จำเป็นกับ uuencode -> ไปป์อีเมล
Gavin McTaggart

1

หากคุณต้องการความสะดวกในการพกพาคุณสามารถเทลเน็ตลงในเซิร์ฟเวอร์เมลของคุณในพอร์ต 25 และใช้คำสั่ง SMTP โดยตรง พวกเขาไม่ได้ยากเกินไปและมันควรจะเป็นมากสคริปต์


3
คุณสามารถเขียนเซิร์ฟเวอร์ SMTP ของคุณเอง
hark

1

Google เปิดหน้าเว็บอย่างรวดเร็วซึ่งอธิบายวิธีการที่หลากหลายในการแนบไฟล์โดยใช้แอปพลิเคชันที่หลากหลาย สองสามคนที่แพร่หลายมากขึ้น -

  • uuenc8deเพื่อสร้าง "ไฟล์แนบ" แบบอินไลน์

  • metamail -f file-to-attach -m mime-type

  • MPACK -c mime-type file-to-attach

  • โง่ -a file-to-attach

  • ไม้ต้นจำพวก ulmus -A file-to-attach

นอกจากนี้ยังมีการเชื่อมโยงไปยังคู่ของ เชลล์สคริปต์และสคริปต์ Perlงานฝีมือและส่งข้อความที่อาจจะมีมากขึ้นเพื่อความชอบของคุณ


1
echo "Email body text" | mail -s "Subject of email" -a file.to.attach.txt my@email.com

อีเมล: ตัวเลือกที่ผิดกฎหมาย -
Yuval A

1
โปรดทราบว่านี่คือคุณสมบัติ mailx ตรวจสอบให้แน่ใจว่ามีการติดตั้งแพคเกจเฉพาะ
niXar

0

หลายปีก่อนฉันเขียนเชลล์สคริปซึ่งทำอย่างนั้น มันถูกเรียกว่า binmail.sh มันใช้การเข้ารหัส base64 (รหัสแหล่งที่มามากมายสามารถพบกับGoogle ) และสร้างสิ่งที่แนบมาตามRFC1521


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.