गो

2012-06-18 18 views
13

में संलग्नक के साथ एक ईमेल कैसे भेजें I मुझे यह लाइब्रेरी मिली है और एक खाली ईमेल में अनुलग्नक भेजने में कामयाब रहा है लेकिन पाठ और अनुलग्नक को गठबंधन नहीं करना है।गो

https://github.com/sloonz/go-mime-message

यह कैसे किया जा सकता है?

उत्तर

20

मैं इसे अपने आप को लागू करने समाप्त हो गया: https://github.com/scorredoira/email

प्रयोग बहुत सरल है:

m := email.NewMessage("Hi", "this is the body") 
m.From = "[email protected]" 
m.To = []string{"[email protected]"} 

err := m.Attach("picture.png") 
if err != nil { 
    log.Println(err) 
} 

err = email.Send("smtp.gmail.com:587", smtp.PlainAuth("", "user", "password", "smtp.gmail.com"), m) 
+0

जीमेल अब इसे अनुमति नहीं देता है। – qed

+1

@qed, मैंने अभी जीमेल के साथ परीक्षण किया है और यह ठीक काम करता है। –

+2

@qed आपको अपनी Google खाता सेटिंग्स में जाना होगा और ऐप्स/सुरक्षा के तहत असुरक्षित ऐप एक्सेस सक्षम करें। मैं इस उद्देश्य के लिए एक फेंकने वाले ईमेल खाते की अत्यधिक अनुशंसा करता हूं। यदि आप जीमेल के लिए पंजीकरण करते हैं और आप एक निश्चित आयु के अंतर्गत हैं - मुझे लगता है कि 16 या 18 - पंजीकरण करते समय आपको पिछले ईमेल पते की आवश्यकता नहीं है। – anon58192932

3

एसएमटीपी प्रोटोकॉल में अटैचमेंट्स मल्टीपार्ट एमआईएमई संदेश का उपयोग करके भेजे जाते हैं।

तो मैं आप बस

  • बनाने एक MultipartMessage

  • के रूप में एक TextMessage ("Content-Type", "text/plain" साथ)

  • AddPart का उपयोग कर हिस्से के रूप में अपने attachements जोड़ने मुट्ठी भाग में अपने पाठ सेट का सुझाव ।

+0

यही वह है जो मैं कोशिश कर रहा हूं लेकिन किसी कारण से मैं इसे काम नहीं कर सकता। मैंने यहां विवरणों को समझाते हुए एक मुद्दा बनाया है: https://github.com/sloonz/go-mime-message/issues/1 –

+0

क्या आप कृपया मुझे बता सकते हैं कि आप कौन सी लाइब्रेरी का जिक्र कर रहे हैं? –

7

मैं इस उद्देश्य के लिए बनाई गई gomail। यह अटैचमेंट्स के साथ-साथ मल्टीपार्ट ईमेल और गैर-ASCII वर्णों के एन्कोडिंग का समर्थन करता है। यह अच्छी तरह से प्रलेखित और परीक्षण किया गया है।

package main 

func main() { 
    m := gomail.NewMessage() 
    m.SetHeader("From", "[email protected]") 
    m.SetHeader("To", "[email protected]", "[email protected]") 
    m.SetAddressHeader("Cc", "d[email protected]", "Dan") 
    m.SetHeader("Subject", "Hello!") 
    m.SetBody("text/html", "Hello <b>Bob</b> and <i>Cora</i>!") 
    m.Attach("/home/Alex/lolcat.jpg") 

    d := gomail.NewPlainDialer("smtp.example.com", 587, "user", "123456") 

    // Send the email to Bob, Cora and Dan. 
    if err := d.DialAndSend(m); err != nil { 
     panic(err) 
    } 
} 
6

मैं ईमेल प्रयोजनों के लिए https://github.com/jordan-wright/email का उपयोग करना पसंद:

यहाँ एक उदाहरण है। यह संलग्नक का समर्थन करता है। मनुष्य

के लिए

ईमेल ईमेल पैकेज का उपयोग करने के लिए सरल होने के लिए बनाया है, लेकिन इतनी छूट इतनी के रूप में प्रतिबंधात्मक नहीं माना जाता है। लक्ष्य मनुष्यों के लिए एक ईमेल इंटरफ़ेस प्रदान करना है।

ईमेल पैकेज वर्तमान में निम्नलिखित का समर्थन करता है:

  • से, करने के लिए, गुप्त प्रतिलिपि, और प्रतिलिपि क्षेत्रों
  • दोनों " [email protected]" और "सबसे पहले अंतिम" प्रारूप
  • में
  • ईमेल पते पाठ और HTML संदेश का मुख्य भाग
  • संलग्नक
  • पढ़े जाने की सूचना
  • कस्टम हेडर
  • आने के लिए और अधिक!
+1

यह शायद सबसे आसान है: 3 – Kokizzu