risolto, con workaround!

Il 09/06/2010 9.46, Yuri ha scritto:
> Il 08/06/2010 18:29, Giacomo Zanobini ha scritto:
>    
>> Il 08/06/2010 14.09, Yuri ha scritto:
>>
>>      
>>>
>>>        
>>>>>>>> #questo script invia una email nel cui corpo vengono riportati i
>>>>>>>> parametri (objectUrl ,objectTitle)
>>>>>>>>
>>>>>>>> mBody = 'questo il corpo della email:'
>>>>>>>> mTo = '[email protected]'
>>>>>>>> mFrom = context.portal_properties.site_properties.email_from_address
>>>>>>>> mSubject = 'PloneSite - rilasciato commento per: ' + objectTitle
>>>>>>>> context.MailHost.send(message = mBody, mto = mTo, mfrom = mFrom,
>>>>>>>> subject = mSubject)
>>>>>>>> return
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>                  
>>>>>>> come mai se inserisco i "*:*" (carattere due punti) nel corpo del
>>>>>>> messaggio, l'email inviata ha dei problemi?
>>>>>>> esiste un motivo? devo in qualche modo usare dei caratteri di escape
>>>>>>> prima dei due punti? devo specificare una codifica particolare del 
>>>>>>> testo?
>>>>>>>
>>>>>>> problemi:
>>>>>>> i campi subject e from e to, vengono inseriti nel corpo della email
>>>>>>> inviata.
>>>>>>> Visualizzando l'elenco dei messaggi ricevuti, con thunderbird, non si
>>>>>>> vede l'oggetto del messaggio.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>                
>>>>
>>>>          
>>>
>>>        
>> Speravo che a qualcuno fosse capitato di usare MailHost.send e avesse
>> incontrato il problema.
>>
>>      
>>> http://pypi.python.org/pypi/collective.MockMailHost/0.2
>>>
>>>
>>> http://pypi.python.org/pypi/Products.PrintingMailHost/0.7
>>>
>>> con questi puoi vedere cosa succede.
>>>
>>>
>>>        
>> ho dato un'occhiata ai prodotti, comunque ho optato per la scelta
>> drastica (ma rapida): vietato l'uso dei duepunti.
>> appena posso, approfondisco cercando altro codice di esempio
>>
>>      
> Secondo me i due punti fanno header, il che significa che non ci sono
> righe vuote tra l'ultimo header e il testo della mail. Prova a dare
> un'occhiata, se puoi, alla mail come viene salvata nella coda del server
> smtp. Oppure sniffa la rete e salva il contenuto su un file.
>    
ok, ho deciso: l'header me lo faccio da solo e richiamo MailHost.send() 
con un solo parametro

invece di
> context.MailHost.send(mBody, mTo, mFrom, mSubject)

così funziona perfettamente:
> #inseriamo l'header
> mFullMessage = ""
> mFullMessage += "From: " + mFrom + "\n"
> mFullMessage += "To:" + mTo + "\n"
> mFullMessage += "Subject:" + mSubject + "\n\n"
> #infine il corpo del messaggio
> mFullMessage += mBody + "\n"
>
> context.MailHost.send(mFullMessage)
> return mFullMessage

Grazie Yuri per il supporto,
Giacomo















_______________________________________________
Plone-IT mailing list
[email protected]
http://lists.plone.org/mailman/listinfo/plone-it
http://www.nabble.com/Plone---Italy-f21728.html

Rispondere a