2011-06-06 14 views
5

के साथ टर्बोमेल इंटीग्रेशन मुझे पिरामिड एप्लिकेशन से ईमेल भेजने के लिए एक विधि की आवश्यकता है। मुझे pyramid_mailer पता है, लेकिन ऐसा लगता है कि यह काफी सीमित संदेश वर्ग है। मुझे समझ में नहीं आ रहा है कि ईमेल के शरीर को उत्पन्न करने के लिए टेम्पलेट का उपयोग करके pyramid_mailer से संदेशों को लिखना संभव है या नहीं। इसके अलावा, मैंने समृद्ध-पाठ समर्थित है या नहीं, या यह सरल सादा-पाठ है या नहीं, इसके बारे में मैंने कुछ भी नहीं देखा है।पिरामिड

पहले, मैं पिलोन ढांचे के साथ Turbomail का उपयोग कर रहा था। दुर्भाग्य से पिरामिड के लिए टर्बोमेल के लिए उपलब्ध कोई भी एडाप्टर दिखाई नहीं देता है। मुझे पता है कि टर्बोमेल को अतिरिक्त ढांचे के लिए बढ़ाया जा सकता है, लेकिन मुझे नहीं पता कि मैं इस तरह का कार्य शुरू करूंगा। क्या किसी ने पिरामिड के लिए एडाप्टर लिखा है या मुझे सही दिशा में इंगित कर सकता है कि ऐसा करने के लिए क्या करना होगा?

+1

वहां अब http://ypi.python.org/pypi/pyramid_marrowmailer – iElectric

उत्तर

4

मैं यह कहने के अलावा अपने टर्बोमेल प्रश्नों का उत्तर नहीं दे सकता कि मैंने सुना है कि यह पिरामिड के साथ ठीक काम करता है।

pyramid_mailer के संबंध में, एक ही सबसिस्टम का उपयोग करके अपने ईमेल प्रस्तुत करना पूरी तरह से संभव है जो पिरामिड को आपके सभी टेम्पलेट्स को प्रस्तुत करने देता है।

from pyramid.renderers import render 

opts = {} # a dictionary of globals to send to your template 
body = render('email.mako', opts, request) 

इसके अलावा, pyramid_mailer संदेश वस्तु Lamson MailResponse वस्तु है, जो स्थिर और अच्छी तरह से परीक्षण किया है पर आधारित है।

संदेश वर्ग में body या html कन्स्ट्रक्टर पैरामीटर निर्दिष्ट करके आप एक मेल बना सकते हैं जिसमें एक सादे पाठ निकाय के साथ-साथ HTML भी शामिल है।

plain_body = render('plain_email.mako', opts, request) 
html_body = render('html_email.mako', opts, request) 
msg = Message(body=plain_body, html=html_body) 
+0

नामक पिरामिड के लिए एकीकरण पैकेज है धन्यवाद, यह वही है जो मैं ढूंढ रहा था .. चीयर्स – h0st1le

3

आप turbomail

easy_install turbomail 

स्थापित अपने पिरामिड परियोजना में एक फ़ाइल बनाने के कुछ इस तरह के साथ (मैं lib में मेरी डाल):

import turbomail 

    def send_mail(body, author,subject, to): 
    """ 
    parameters: 
    - body content 'body' 
    - author's email 'author' 
    - subject 'subject' 
    - recv email 'to' 

    """ 
    conf = { 
      'mail.on': True, 
      'mail.transport': 'smtp', 
      'mail.smtp.server': 'MAIL-SERVER:25', 
     } 

    turbomail.interface.start(conf) 
    message = turbomail.Message(
      author = author, 
      to = to, 
      subject = subject, 
      plain = 'This is HTML email', 
      rich = body, 
      encoding = "utf-8" 
     ) 

    message.send() 
    turbomail.interface.stop() 

और फिर अपने नियंत्रक में आप सिर्फ इस फ़ंक्शन को इस तरह कॉल करें:

#first import this function 
from myproject.lib.mymail import send_mail 

#some code... 

    body = "<html><head></head><body>Hello World</body></html>" 
    author = "[email protected]" 
    subject = "testing turbomail" 
    to = "[email protected]" 
    send_mail(body, author, subject, to) 
संबंधित मुद्दे