2010-04-16 20 views
5

GoogleAppEngine'de barındırılan web2py uygulamasından bir posta göndermeye çalışıyorum. Ama bu çalışmıyor. Web2py ile verilen posta işlevini kullandım. Bunu nasıl yapacak kimse var mı? GAE Dokümantasyonunda, python posta kitaplığının GAE ve GAE posta kitaplığı ile çalışılmayacağını okudum. Web2py posta için de geçerli midir? TeşekkürBir web2py'den e-posta göndererek GAE

+1

diyorsunuz 2010 tam olarak ne anlama geliyor "çalışmıyor"? Size bazı hata mesajı veriyor mu? Bu sayfa, e-postanın web2py + App Engine ile çalışacağından emin görünmüyor: http://wiki.web2py.com/Sending_Email_with_Plain_Text_HTML_Versions_plus_Attachments –

+0

E-posta gönderilmiyor ve şu hatayı alıyorum Aşağıdaki hatayı alıyorum. Mail.send hatası: 'module' nesnesinin 'getaddrinfo' özniteliği yok – felix

cevap

5

web2py gluon.tools.Mail sınıfı (bu da Auth modülü tarafından kullanılan) kutudan çıktığı GAE ve non-GAE üzerinde çalışır . Sadece doğru ayarları geçmeniz yeterlidir:

mail=Mail() 
mail.settings.server="smtp.example.com:25" or "gae" 
mail.settings.sender="[email protected]" 
mail.settings.tls=True or False 
mail.settings.login="you:password" 
Birden çok kodlamayı, MIME ve ekleri destekler.

+0

Aşağıdaki hatayı alıyorum. Mail.send hatası: 'modülü' nesne posta = Posta() mail.settings.server = 'smtp.gmail.com:587' posta hiçbir özellik 'getaddrinfo' ve posta bölümü için kodu olan var .settings.login = 'kullanıcı adı: passwordxperia x1' mail.settings.sender = (konu, mesaj, kadar) '[email protected]' mail.settings.tls = Doğru veya Yanlış mail.send kodu Üstü yerel makinemden kullanıyorum ama GAE – felix

+1

'a yüklediğimde çalışmıyor, yukarıdaki yorumumda birşeyleri kaçırdım ve düzeltdim. GAE API'sine sahip olmanız gerektiği ve web2py'nin bir soyutlama katmanı sağladığı doğrudur.Ancak, harici bir sunucuya bağlanamıyorsunuz çünkü smtplib, soket ve soketin GAE'de bulunmasını gerektirmiyor. Alt satırda mail.settings.server = "gae" ayarlamalısınız – mdipierro

3

Web2py gluon.tools.Mail sınıfı, GAE üzerinde çalışır. Bkz kod parçacığı gluon.tools hat Bu http://code.google.com/intl/en/appengine/docs/python/mail/emailmessagefields.html gönderen gönderenin e-posta adresi Bkz GAE

mail=Mail() 
mail.settings.server="gae" 
mail.settings.sender="[email protected]" #This must be the email address of a registered 
             #administrator for the application, or the address 
             #of the current signed-in user. 
mail.settings.login="you:password" 

üzerinde çalışmak için doğru ayarları ise 310

try: 
     if self.settings.server == 'gae': 
      from google.appengine.api import mail 
      result = mail.send_mail(sender=self.settings.sender, to=to, 
            subject=subject, body=text) 

, adresi. Bu, uygulamanın kayıtlı bir yöneticisinin e-posta adresi veya mevcut oturum açmış kullanıcının adresi olmalıdır. Yöneticiler, Yönetim Konsolunu kullanarak bir uygulamaya eklenebilir. Mevcut kullanıcının e-posta adresi, Kullanıcılar API'sı ile belirlenebilir.

Üzgünüz! İngilizcem çok zayıf. Yardım etmeyi umuyorum.

Celso Godinho ([email protected]) Brezilya Dünya Kupası şampiyonu futbol