2016-02-15 1 views
1

Je suis confronté à un problème où tous mes e-mails textuels sont regroupés et n'ont pas de nouvelles lignes qui persistent pendant le processus d'envoi.Amazon SES send_email Corps de texte avec interlignes/retours à la ligne

Voici le code:

def send_ses_message(email_to, subject, body): 
    ses = init_ses_internal() 
    if ses: 
     ses.send_email(
      Source='[email protected]', 
      Destination={ 
       'ToAddresses': [ 
        email_to, 
       ], 
      }, 
      Message={ 
       'Subject': { 
        'Data': subject, 
       }, 
       'Body': { 
        'Text': { 
         'Data': body, 
         'Charset': 'UTF-8', 
        }, 
        'Html': { 
         'Data': body, 
         'Charset': 'UTF-8', 
        }, 
       } 
      }, 
      ReplyToAddresses=[ 
       '[email protected]', # just in case someone replies to a [email protected] address I'll receive them 
      ], 
      ReturnPath='[email protected]', # bounce backs will come to me also 
     ) 
     return True 

J'ai plus récemment essayé de forcer UTF-8 en espérant que cela permettrait aux nouvelles lignes de persister. Après cela, j'ai ajouté \ n où une nouvelle ligne devrait exister.

Voici un exemple d'un email:

def send_reset_email(self, email_to, unique_id): 
     subject = "Company Password Reset" 
     body = """ 
Hello!\n\n 

We have received a request to reset your password.\n 

Please click the link below to proceed with resetting your password. Note: this link will expire in 1 hour.\n\n 

http://staging.domain.com/password/reset/{}\n\n 

If you did not request this reset you can safely ignore this e-mail.\n\n 

Thank you for choosing Company!\n\n 

The Company Team\n 
www.company.com\n 
""".format(unique_id) 
     send_ses_message(email_to, subject, body) 

S'il vous plaît laissez-moi savoir ce que je peux faire pour faire en sorte que les nouvelles lignes sont persistantes sur Amazon SES. Merci!

+0

Je ne comprends pas votre Q. SES ne supprime pas de nouvelles lignes. Pas besoin de forcer UTF-8. Qu'est-ce que vous envoyez et que recevez-vous? Limitez votre échantillon à 2 ou 3 lignes. – helloV

+0

Je veux dire quand j'envoie le corps vu dans send_reset_email, l'email arrive comme: "Bonjour, nous avons reçu une demande de réinitialisation de votre mot de passe Veuillez cliquer sur le lien ci-dessous pour procéder à la réinitialisation de votre mot de passe. 1 heure http://staging.company.com/password/reset/fac2534e-e815-4ef9-8dd4-239c6199df52 Si vous n'avez pas demandé cette réinitialisation, vous pouvez ignorer cet e-mail en toute sécurité Merci d'avoir choisi la société! Team www.company.com "- sans mise en forme – morissette

+0

Peut-être que" \ r \ n' serait plus correct? Voir [Quelle est la bonne nouvelle ligne dans les courriels? LF ou CRLF?] (Http://stackoverflow.com/q/6783863/1695906) –

Répondre