मुल्ट के साथ मल्टीपार्ट / विकल्प भेजना


12

मुझे कुछ ईमेल और / या प्राप्तकर्ताओं के लिए विकल्प चाहिए कि वे भेजने से पहले एक स्क्रिप्ट चलाएं (चाहे स्वचालित रूप से या कीबाइंडिंग दबाकर) जो मेरी लेता है text/plain, उस पर एक स्क्रिप्ट चलाता है, और फिर उस स्क्रिप्ट के text/htmlप्रकार के साथ आउटपुट संलग्न करता है , पूरे संदेश को स्थापित करने के लिए multipart/alternative

साइड रेम्बल: यह अच्छा हो सकता है अगर यह भेजने से तुरंत पहले स्वचालित रूप से हुआ हो, लेकिन केवल अगर शरीर का प्रकार वर्तमान में सेट किया गया था text/markdown, तो इसका मतलब होगा कि लंबित ईमेल कभी भी ऐसी स्थिति में नहीं है जहां मैं स्रोत को फिर से संपादित करता हूं, लेकिन HTML को पुन: उत्पन्न करने के लिए भूल जाता हूं, और मेरे पास अभी भी केवल भेजने का विकल्प है text/plain। फिर मुझे शरीर के सामग्री प्रकार को सेट करने के लिए एक और बाध्यकारी text/markdownहोगा, ताकि इसे उठाया जा सके। लेकिन फिर मेरे पास यह मुद्दा भी है कि बहुत सारे मेल क्लाइंट (जीमेल शामिल) ने रेंडर करने से इंकार कर दिया text/markdown(यहां तक ​​कि सादे पाठ के रूप में), इसे डाउनलोड के रूप में पेश करने के बजाय, इसलिए मुझे स्रोत के सामग्री प्रकार को वापस स्विच करने की आवश्यकता होगी को text/plain

क्या म्यूट के साथ ऐसा संभव है?

अफसोस की बात है कि जहां तक ​​मैं बता सकता हूं कि multipart/alternativeसंदेश भेजने का समर्थन नहीं करता है multipart/mixed, लेकिन कुछ भी भेजने से इनकार करते हुए , लेकिन मुझे यह दिखाना अच्छा लगेगा कि मैं गलत हूं।

सबसे अच्छा समाधान मैं इस मैक्रो के साथ आने में सक्षम हूं:

macro compose M "<filter-entry>commonmark<return>y<edit-type><kill-line>text/html<return>" "convert message to HTML with Commonmark"

इसके साथ कुछ समस्याएँ हैं:

  • यह मूल सादे पाठ को पूरी तरह से बदल देता है, इसलिए इसे संपादित करना बहुत कठिन है
  • मुझे यह पसंद नहीं है कि yमैक्रो में डायलॉग के लिए हाँ कहने के लिए पूछें कि क्या फ़ाइल को अधिलेखित करना ठीक है
  • मुझे इस रन के बाद वापसी करनी है
  • और निश्चित रूप से मुख्य बात: यह सादा पाठ विकल्प नहीं भेजती है

क्या कोई बेहतर समाधान है?

मैं संभावित रूप से एक अन्य टेक्स्ट-मोड मेल क्लाइंट के लिए खुला हूँ, जब तक कि यह

  • Google Apps के साथ प्रयोग करने योग्य है, और दोनों दिशाओं में झंडे आदि को सिंक करता है
  • GPG का समर्थन करता है
  • विम-जैसे बाइंडिंग हैं, या मैं उन्हें कॉन्फ़िगर कर सकता हूं
  • मुझे संदेश संपादक के रूप में विम का उपयोग करने देता है
  • एक थ्रेडेड संदेश दृश्य है
  • मुझे कुछ हद तक परिष्कृत तरीके से मेल / फ़िल्टर करने की अनुमति देता है (प्रेषक, प्राप्तकर्ता, संलग्नक की उपस्थिति, विषय और शरीर पाठ खोज)
  • लगाव के प्रकारों को थोड़ा-थोड़ा संभालता है जैसे कि म्यूट, मेलकैप या समतुल्य इसलिए मैं आने वाले HTML मेल को lynx के माध्यम से चला सकता हूं, या इसे ग्राफिकल ब्राउज़र में खोलने के लिए कुछ दबा सकता हूं यदि जरूरत हो, तो मैं एक बटन प्रेस पर छवि दर्शकों को लॉन्च कर सकता हूं, और इसी तरह

जवाबों:


1

मैं भूल गया कि NeoMutt मल्टीपार्ट का समर्थन करता है। https://neomutt.org/guide/mimesupport


सुनकर अच्छा लगा। आपके द्वारा जोड़ा गया पृष्ठ ने कहा कि मल्टीपार्ट / वैकल्पिक भेजने का समर्थन अल्पविकसित है, लेकिन मैं इसे जल्द ही कुछ समय देने की कोशिश करूंगा। इस पर ध्यान दिलाने के लिए धन्यवाद।
कंपकंपी

नियोमट को नियमित ऑल्ट म्यूट के बदले ड्रॉप-इन रिप्लेसमेंट माना जाता है। दूसरी अच्छी बात यह है कि इसका स्पष्ट रूप से बहुत बड़ा सक्रिय विकास हुआ है।
डेवी

ऐसा लगता है कि इस सुविधा को एक वर्ष पहले जोड़ा गया था: github.com/neomutt/neomutt/pull/734
18

यह बहुत अच्छा काम करता है। मैंने आपके द्वारा neomutt.org/guide/… पर पोस्ट किए गए डॉक्स में सुझाए गए मैक्रो के समान ही बनाया है - मुझे अभी भी मैक्रो का उपयोग करने के बाद एंटर प्रेस करना है, और मुझे अभी तक यकीन नहीं है कि अगर मैं बनाना चाहता हूं तो क्या होगा? विकल्प उत्पन्न करने के बाद परिवर्तन होता है, लेकिन भेजने से पहले, लेकिन मैं यह सब कुछ निश्चित समय में पता लगा लूंगा। मल्टीपार्ट / विकल्प का समर्थन करने के लिए पहले संस्करण पर ध्यान दें 2018-05-12 रिलीज़ है, जो अभी तक मेरे डिस्ट्रो में नहीं है। मैं स्रोत से संकलित किया --gnutls --prefix/usr/local --tokyocabinet
कांप

-1
    #!/bin/bash

    cp $1 $1.tmp
    ##CHANGE OVERALL TYPE IN HEADER TO MULTIPART

    #HANDLE CONTENT-TYPE LINE IN HEADER
    if grep -q "Content-Type:" $1; then
            sed -i -e 's/Content-Type:.*?;/Content-Type: multipart\/alternative; boundary=boundary42/' $1.tmp
    else
            sed -i '1iContent-Type: multipart/alternative; boundary=boundary42' $1.tmp
    fi

    #EXTRACT HEADER AND BODY
    header="$(sed '/^$/q' $1.tmp)"
    body="$(sed -n -e '/^$/,$p' $1.tmp | tail -n +2)"

    #CREATE HTML VERSION
    HTMLbody="$(echo "$body" | commonmark)"

    #ADD HEADER
    echo "$header" > $1

    #START PLAIN TEXT
    echo -e "\n--boundary42\n" >> $1
    echo -e "Content-Type: text/plain; charset=us-ascii\n" >> $1
    echo "$body" >> $1

    #START HTML
    echo -e "\n--boundary42\n" >> $1
    echo "Content-Type: text/html; charset=UTF-8" >> $1
    echo "Content-Transfer-Encoding: quoted-printable\n" >> $1
    echo "$HTMLbody" >> $1

    echo -e "\n--boundary42--" >> $1

    msmtp $1

आप इस प्रश्न का उत्तर देते हुए दिखाई देते हैं "क्या प्रति ईमेल पते से" प्रति हस्ताक्षर का उपयोग करना संभव है, जो कि मेरे द्वारा पूछे गए प्रश्न पर नहीं है। मैं यह नहीं देखता कि यह मल्टीपार्ट / वैकल्पिक ईमेल भेजने में कैसे मदद करता है।
कंपकंपी

मुझे लगता है कि आपने अपना उत्तर संपादित कर लिया है। ठीक है, इसलिए यह जांच करता है कि आप कौन से ईमेल पते से भेज रहे हैं और (ऐसा नहीं लगता है कि आप "से" कुछ भी करते हैं) और संभवतः कुछ हेडर जोड़ता है। लेकिन मैं अभी भी नहीं देखता कि यह मल्टीपार्ट / वैकल्पिक ईमेल भेजने में कैसे मदद करता है।
18

आपको शायद अपनी जरूरतों के लिए इसे समायोजित करने की आवश्यकता है, इसलिए मैं शायद आपके लिए सब कुछ नहीं कर सकता। लेकिन सामान्य समाधान यह है कि आप अपने संपादक को एक स्क्रिप्ट पर सेट करते हैं जो आपके संपादक को कॉल करती है और फिर ड्राफ्ट फ़ाइल को पार्स करती है।
डेवी

ड्राफ्ट फ़ाइल में कौन सा विशिष्ट संपादन, मल्टीपार्ट / वैकल्पिक भेजने के लिए म्यूट की अनुमति देगा? फ़ाइल, HTML और सादे पाठ के दो संस्करण कहाँ हैं?
कांप

लगता है कि आपके पास सामान्य तरीके से बदलने का तरीका है। बदलें कि someMultipartScript लाइन के साथ। उस बिंदु पर $ 1 सादा होगा। इसे अपने रूपांतरण उपकरण के माध्यम से भेजें और इसे उसी फ़ाइलनाम $ 1 पर पाइप करें। जब यह स्क्रिप्ट समाप्त हो जाती है, तो यह कॉलिंग प्रोग्राम (म्यूट) को एक संकेत भेजता है, कि आपका संपादक बंद है, जिस बिंदु पर यह भेजने के लिए तैयार होना चाहिए।
डेवी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.