ใช้ emacs กับธันเดอร์เบิร์ดเพื่อเขียนและตอบจดหมาย


13

มีหลายอย่างที่เขียนขึ้นสำหรับการใช้ emacs เป็นโปรแกรมอีเมลหลักแบบเต็ม ฉันกำลังมองหาบางอย่างด้วยการตั้งค่าอย่างง่ายเพื่อให้ Thunderbird เป็นโปรแกรมจัดการอีเมลหลักของฉัน แต่เขียนและส่งอีเมลเป็น emacs เนื่องจากไพ ธ อนสามารถส่งจดหมายจากบรรทัดคำสั่งได้ฉันจึงสงสัยว่าสิ่งนี้จะไม่ยากเกินไปสำหรับ emacs

ขั้นตอนต่อไป: ถ้าเป็นไปได้ฉันยังคงสามารถซิงค์กับเซิร์ฟเวอร์ imap เพื่อดึงอีเมล ~ 100 ครั้งล่าสุดเพื่อให้ฉันสามารถเขียนคำตอบเป็น emacs สิ่งนี้ไม่จำเป็นต้องมีการจัดการโฟลเดอร์ แต่มีการซิงค์จำนวนหนึ่งแม้ว่าฉันไม่จำเป็นต้องให้ข้อความในเครื่องพร้อมใช้งานกับ emacs หลังจากเซสชัน มันจะยังต้องใช้แผนที่ออฟไลน์ไหม?

ข้อเสนอแนะสำหรับการกำหนดค่าที่เหมาะสม?


1
มีลักษณะที่ EmacsWiki A: หมวดหมู่จดหมาย มันมีตัวเลือกมากมายซึ่งคุณอาจพบว่ามีประโยชน์
แดน

1
ใช่มีตัวเลือกมากเกินไปในการกำหนดค่าและทดสอบ ฉันขอขอบคุณข้อมูลจากผู้ใช้ที่มีประสบการณ์ซึ่งอาจมีความคิดว่าตัวเลือกใดเหมาะสมกับความต้องการเหล่านี้มากที่สุด
hatmatrix

2
mu4eดูจะเหมาะสมสำหรับคุณ
shackra

1
ไม่มีอะไรง่าย ๆเกี่ยวกับ Emacs เตรียมพร้อมที่จะใช้เวลามากมายในการปรับแต่งมันตามความชอบและเรียนรู้elispไปพร้อมกัน อย่างไรก็ตามมันเป็นรางวัลที่ดีมากเมื่อคุณได้รับสิ่งที่คุณต้องการให้ทำ ฉันใช้ Wanderlust และฉันยังคงปรับพฤติกรรมเป็นครั้งคราว - เป็นเวลาหนึ่งปีแล้วและการปรับแต่ง / ปรับแต่ง Emacs เป็นความหลงใหลในชีวิตประจำวันของฉัน
ฏหมาย

ฉันสงสัยว่าคำถามนี้กว้างเกินไปและต้องการแยกจากกันมากขึ้น แต่ต้องการให้ชุมชนตัดสินประเด็น
แดน

คำตอบ:


9

คุณสามารถใช้โปรแกรมเสริม External Editor เป็น Thunderbird จากนั้นตั้งค่าโปรแกรมแก้ไขภายนอกเป็น emacs หากคุณไปที่ไซต์นี้คุณสามารถดาวน์โหลดไฟล์exteditor_v100.xpiได้ จากภายในธันเดอร์เบิร์ดจากโปรแกรมจัดการส่วนเสริมคุณสามารถ "ติดตั้งโปรแกรมเสริมจากไฟล์" หลังจากที่คุณเริ่มต้นใหม่คุณสามารถค้นหาตัวเลือกสำหรับตัวแก้ไขภายนอกในตัวจัดการส่วนเสริมและจากนั้นคุณสามารถใส่เส้นทางไปยัง emacs ของคุณเป็นตัวแก้ไขภายนอก ที่ควรจะตอบสนองความต้องการของคุณ

จากทั้งหมดที่กล่าวมา:

ฉันกำลังมองหาบางอย่างด้วยการตั้งค่าอย่างง่ายเพื่อให้ Thunderbird เป็นโปรแกรมจัดการอีเมลหลักของฉัน แต่เขียนและส่งอีเมลเป็น emacs

นี่เป็นปัญหาและฉันไม่แน่ใจว่าคุณต้องการสิ่งนี้จริง ๆ ใด ๆที่เรียบง่ายติดตั้งที่ภายในจดหมายแก้ไขของ emacs จะไม่ใช้ Thunderbird การจัดการอีเมลหลักของคุณ

ฉันขอแนะนำให้ใช้ mu4e และ offlineimap ฉันเริ่มใช้มันก่อนที่ฉันจะรู้อะไรเกี่ยวกับ emacs และมันก็เป็นเรื่องตรงไปตรงมาเท่าที่ไคลเอนต์อีเมลสามารถทำได้


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

น่าเสียดายที่ฉันไม่ได้อยู่ในสถานที่ที่ฉันสามารถเล่นกับมันและทดสอบในขณะนี้ (ฉันยังไม่ได้ตั้งค่าเอง) นี่คือไซต์ส่วนขยาย แต่ฉันกลัวที่จะพูดมากกว่านี้โดยไม่ใช้ตัวเอง ดูเหมือนว่าการกำหนดค่าอาจขึ้นอยู่กับระบบปฏิบัติการ
เซ ธ รอ ธ ไชลด์

ใช่ว่าส่วนขยายแก้ไขภายนอกฉันคิดว่าตาย - ล่าสุด udpate 2008? ไม่สามารถใช้ได้ในรายการส่วนขยาย ฉันเคยใช้มันจนกระทั่งไม่ได้รับการสนับสนุนจากธันเดอร์เบิร์ดอีกต่อไป
hatmatrix

@crippledlambda ดูเหมือนว่าจะยังคงใช้งานได้ (ฉันเพิ่งลอง) ดังนั้นจึงอาจเป็นตัวเลือกที่ดีที่สุดสำหรับสิ่งที่คุณต้องการ
Seth Rothschild

@ เซทขอบคุณ - มันใช้งานได้ (!?) แต่ไม่ได้โอนเนื้อหาจาก emacs buffer ไปยังข้อความตามที่อธิบายไว้ ขณะนี้ต้องคัดลอกวางกลับไปที่หน้าต่างข้อความของธันเดอร์เบิร์ดดังนั้นจึงไม่สามารถแก้ไขสถานการณ์ได้ แต่ฉันหวังว่าการแก้ไขจะเป็นเรื่องง่าย อย่างไรก็ตามมันใกล้เคียงที่สุดกับสิ่งที่ฉันต้องการสำหรับคำถามนี้ดังนั้นฉันจะทำเครื่องหมายว่าตอบแล้ว
hatmatrix

4

อย่างน้อยควรเริ่มต้น:

แต่เขียนและส่งอีเมลเป็น emacs เนื่องจากไพ ธ อนสามารถส่งจดหมายจากบรรทัดคำสั่งได้ฉันจึงสงสัยว่าสิ่งนี้จะไม่ยากเกินไปสำหรับ emacs

นี่คือสิ่งที่ฉันมีในไฟล์ init สำหรับการเขียนจดหมายและส่งโดยใช้ gmail ควรติดตั้ง gnutsl ในระบบปฏิบัติการของคุณ:

;; send mail
(setq
 send-mail-function 'smtpmail-send-it
 message-send-mail-function 'smtpmail-send-it
 user-mail-address "patrick.nsukami@gmail.com"
 smtpmail-starttls-credentials '(("smtp.gmail.com" "587" nil nil))
 smtpmail-auth-credentials  (expand-file-name "~/.authinfo")
 smtpmail-default-smtp-server "smtp.gmail.com"
 smtpmail-smtp-server "smtp.gmail.com"
 smtpmail-smtp-service 587
 smtpmail-debug-info t
 starttls-extra-arguments nil
 starttls-gnutls-program "/usr/bin/gnutls-cli"
 starttls-extra-arguments nil
 starttls-use-gnutls t
)

ขั้นตอนต่อไป: ถ้าเป็นไปได้ฉันยังคงสามารถซิงค์กับเซิร์ฟเวอร์ imap เพื่อดึงอีเมล ~ 100 ครั้งล่าสุดเพื่อให้ฉันสามารถเขียนคำตอบเป็น emacs สิ่งนี้ไม่ต้องการการจัดการโฟลเดอร์ แต่มีการซิงค์จำนวนหนึ่งแม้ว่าฉันไม่จำเป็นต้องให้ข้อความในเครื่องพร้อมใช้งานกับ emacs หลังจากเซสชัน

คุณควรกำหนดค่ากล่องจดหมายของคุณและเปิดใช้งานIMAPคุณจะสามารถจัดการอีเมลของคุณจากอุปกรณ์ต่างๆ นี่คือการกำหนดค่าของฉันสำหรับการอ่านจดหมายจาก gmail โดยใช้ emacs & gnus:

;read mail w/ gnus
(setq gnus-select-method '(nnimap "gmail"
(nnimap-address "imap.gmail.com")
(nnimap-server-port 993)
(nnimap-stream ssl)))
(setq mm-discouraged-alternatives '("text/html" "text/richtext"))

มันจะยังต้องใช้แผนที่ออฟไลน์ไหม?

ฉันไม่เคยใช้offlineimapแต่คุณควรถ้าคุณต้องการจัดการเมลของคุณเมื่อออฟไลน์ทันทีที่คุณออนไลน์การซิงค์จะเกิดขึ้นระหว่างคอมพิวเตอร์และเซิร์ฟเวอร์ของคุณ

~ / .authinfoไฟล์จะถูกนำมาใช้ในการจัดเก็บข้อมูลประจำตัวของคุณและมันจะมีอย่างน้อยสองบรรทัดบรรทัดแรกสำหรับการส่งอีเมล:

machine smtp.gmail.com port 587 login you@somewhere.com password NotsoiNcreDiblePassword

อันที่สองสำหรับการดึงเมล:

machine imap.gmail.com secret port 993 login you@somewhere.com password NotsoiNcreDiblePassword


2

ขั้นตอนต่อไป: ถ้าเป็นไปได้ฉันยังคงสามารถซิงค์กับเซิร์ฟเวอร์ imap เพื่อดึงอีเมล ~ 100 ครั้งล่าสุดเพื่อให้ฉันสามารถเขียนคำตอบเป็น emacs สิ่งนี้ไม่จำเป็นต้องมีการจัดการโฟลเดอร์ แต่มีการซิงค์จำนวนหนึ่งแม้ว่าฉันไม่จำเป็นต้องให้ข้อความในเครื่องพร้อมใช้งานกับ emacs หลังจากเซสชัน มันจะยังต้องใช้แผนที่ออฟไลน์ไหม?

หากคุณต้องการซิงโครไนซ์กับเซิร์ฟเวอร์ IMAP ฉันขอแนะนำให้ทำงานกับเมลภายในเครื่องและออฟไลน์แผนที่เพื่อซิงค์กับเซิร์ฟเวอร์ระยะไกล ขึ้นอยู่กับโครงสร้างโฟลเดอร์ของคุณคุณสามารถ จำกัด การซิงโครไนซ์กับไดเรกทอรีเดียวและกำจัดมันเมื่อคุณทำเสร็จแล้ว (Offlineimap จะไม่ลบอีเมลที่คุณลบในเครื่องหากคุณลบแคชด้วย)

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

ในการเขียนอีเมลคุณจำเป็นต้องสร้างไฟล์ข้อความด้วยส่วนหัวที่ถูกต้องเท่านั้น message-modeทำเพื่อคุณ (ไคลเอนต์อีเมลส่วนใหญ่สำหรับ Emacs เพียงแค่นำมาใช้ใหม่message-modeแทนการประดิษฐ์ส่วนต่อประสานของตนเองสำหรับการเขียนอีเมล) เมื่อคุณมีไฟล์อีเมลที่ถูกต้องคุณสามารถใช้คำสั่งแยกต่างหาก (เช่น msmtp) เพื่อส่ง คุณสามารถกำหนดค่าmessage-modeให้ใช้ msmtp ดังนี้:

(setq mail-specify-envelope-from t)
(setq mail-envelope-from 'header)
(setq message-sendmail-envelope-from 'header)
(setq message-send-mail-function 'message-send-mail-with-sendmail)

;;use msmtp instead of sendmail
(setq sendmail-program "/usr/bin/msmtp")

การกำหนดค่า msmtp ของคุณเป็นอิสระจาก Emacs และคุณสามารถใช้นอก Emacs ได้

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

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