2016-02-09 13:43:57 -08:00
from django . http import HttpResponse , Http404
2016-02-09 13:47:54 -08:00
from utils import log as logging
2016-02-09 16:22:22 -08:00
from apps . newsletters . models import EmailNewsletter
from apps . rss_feeds . models import Feed , MStory
2016-02-09 13:43:57 -08:00
def newsletter_receive ( request ) :
2016-02-09 16:22:22 -08:00
params = {
' stripped-signature ' : ' Thanks, \n Bob ' ,
' From ' : ' Bob <bob@newsletters.newsblur.com> ' ,
' attachment-count ' : ' 2 ' ,
' To ' : ' Alice <alice@newsletters.newsblur.com> ' ,
' subject ' : ' Re: Sample POST request ' ,
' from ' : ' Bob <bob@newsletters.newsblur.com> ' ,
' User-Agent ' : ' Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130308 Thunderbird/17.0.4 ' ,
' stripped-html ' : ' <html><head><meta content= " text/html; charset=ISO-8859-1 " http-equiv= " Content-Type " ></head><body text= " #000000 " bgcolor= " #FFFFFF " > \n <div class= " moz-cite-prefix " > \n <div style= " color: rgb(34, 34, 34); font-family: arial, \n sans-serif; font-size: 12.666666984558105px; font-style: normal; \n font-variant: normal; font-weight: normal; letter-spacing: \n normal; line-height: normal; orphans: auto; text-align: start; \n text-indent: 0px; text-transform: none; white-space: normal; \n widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; \n -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, \n 255); " >Hi Alice,</div> \n <div style= " color: rgb(34, 34, 34); font-family: arial, \n sans-serif; font-size: 12.666666984558105px; font-style: normal; \n font-variant: normal; font-weight: normal; letter-spacing: \n normal; line-height: normal; orphans: auto; text-align: start; \n text-indent: 0px; text-transform: none; white-space: normal; \n widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; \n -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, \n 255); " ><br></div> \n <div style= " color: rgb(34, 34, 34); font-family: arial, \n sans-serif; font-size: 12.666666984558105px; font-style: normal; \n font-variant: normal; font-weight: normal; letter-spacing: \n normal; line-height: normal; orphans: auto; text-align: start; \n text-indent: 0px; text-transform: none; white-space: normal; \n widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; \n -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, \n 255); " >This is Bob.<span class= " Apple-converted-space " > <img alt= " " src= " cid:part1.04060802.06030207@newsletters.newsblur.com " height= " 15 " width= " 33 " ></span></div> \n <div style= " color: rgb(34, 34, 34); font-family: arial, \n sans-serif; font-size: 12.666666984558105px; font-style: normal; \n font-variant: normal; font-weight: normal; letter-spacing: \n normal; line-height: normal; orphans: auto; text-align: start; \n text-indent: 0px; text-transform: none; white-space: normal; \n widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; \n -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, \n 255); " ><br> \n I also attached a file.<br><br></div> \n <div style= " color: rgb(34, 34, 34); font-family: arial, \n sans-serif; font-size: 12.666666984558105px; font-style: normal; \n font-variant: normal; font-weight: normal; letter-spacing: \n normal; line-height: normal; orphans: auto; text-align: start; \n text-indent: 0px; text-transform: none; white-space: normal; \n widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; \n -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, \n 255); " >Thanks,</div> \n <div style= " color: rgb(34, 34, 34); font-family: arial, \n sans-serif; font-size: 12.666666984558105px; font-style: normal; \n font-variant: normal; font-weight: normal; letter-spacing: \n normal; line-height: normal; orphans: auto; text-align: start; \n text-indent: 0px; text-transform: none; white-space: normal; \n widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; \n -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, \n 255); " >Bob</div> \n <br><br></div> \n <br></body></html> ' ,
' In-Reply-To ' : ' <517AC78B.5060404@newsletters.newsblur.com> ' ,
' Date ' : ' Fri, 26 Apr 2013 11:50:29 -0700 ' ,
' Message-Id ' : ' <517ACC75.5010709@newsletters.newsblur.com> ' ,
' body-plain ' : ' Hi Alice, \n \n This is Bob. \n \n I also attached a file. \n \n Thanks, \n Bob \n \n On 04/26/2013 11:29 AM, Alice wrote: \n > Hi Bob, \n > \n > This is Alice. How are you doing? \n > \n > Thanks, \n > Alice \n \n ' ,
' Mime-Version ' : ' 1.0 ' ,
' Received ' : ' from [10.20.76.69] (Unknown [50.56.129.169]) by mxa.mailgun.org with ESMTP id 517acc75.4b341f0-worker2; Fri, 26 Apr 2013 18:50:29 -0000 (UTC) ' ,
' content-id-map ' : ' { " <part1.04060802.06030207@newsletters.newsblur.com> " : " attachment-1 " } ' ,
' Sender ' : ' bob@newsletters.newsblur.com ' ,
' timestamp ' : ' 1455054490 ' ,
' message-headers ' : ' [[ " Received " , " by luna.mailgun.net with SMTP mgrt 8788212249833; Fri, 26 Apr 2013 18:50:30 +0000 " ], [ " Received " , " from [10.20.76.69] (Unknown [50.56.129.169]) by mxa.mailgun.org with ESMTP id 517acc75.4b341f0-worker2; Fri, 26 Apr 2013 18:50:29 -0000 (UTC) " ], [ " Message-Id " , " <517ACC75.5010709@newsletters.newsblur.com> " ], [ " Date " , " Fri, 26 Apr 2013 11:50:29 -0700 " ], [ " From " , " Bob <bob@newsletters.newsblur.com> " ], [ " User-Agent " , " Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130308 Thunderbird/17.0.4 " ], [ " Mime-Version " , " 1.0 " ], [ " To " , " Alice <alice@newsletters.newsblur.com> " ], [ " Subject " , " Re: Sample POST request " ], [ " References " , " <517AC78B.5060404@newsletters.newsblur.com> " ], [ " In-Reply-To " , " <517AC78B.5060404@newsletters.newsblur.com> " ], [ " X-Mailgun-Variables " , " { \\ " my_var_1 \\ " : \\ " Mailgun Variable #1 \\ " , \\ " my-var-2 \\ " : \\ " awesome \\ " } " ], [ " Content-Type " , " multipart/mixed; boundary= \\ " ------------020601070403020003080006 \\ " " ], [ " Sender " , " bob@newsletters.newsblur.com " ]] ' ,
' stripped-text ' : ' Hi Alice, \n \n This is Bob. \n \n I also attached a file. ' ,
' recipient ' : ' alice+555551235342@newsletters.newsblur.com ' ,
' sender ' : ' bob@newsletters.newsblur.com ' ,
' X-Mailgun-Variables ' : ' { " my_var_1 " : " Mailgun Variable #1 " , " my-var-2 " : " awesome " } ' ,
' token ' : ' cb2ef40ca2fee03a099f7da78ca07384228f00f023026c77a4 ' ,
' body-html ' : ' <html> \n <head> \n <meta content= " text/html; charset=ISO-8859-1 " \n http-equiv= " Content-Type " > \n </head> \n <body text= " #000000 " bgcolor= " #FFFFFF " > \n <div class= " moz-cite-prefix " > \n <div style= " color: rgb(34, 34, 34); font-family: arial, \n sans-serif; font-size: 12.666666984558105px; font-style: normal; \n font-variant: normal; font-weight: normal; letter-spacing: \n normal; line-height: normal; orphans: auto; text-align: start; \n text-indent: 0px; text-transform: none; white-space: normal; \n widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; \n -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, \n 255); " >Hi Alice,</div> \n <div style= " color: rgb(34, 34, 34); font-family: arial, \n sans-serif; font-size: 12.666666984558105px; font-style: normal; \n font-variant: normal; font-weight: normal; letter-spacing: \n normal; line-height: normal; orphans: auto; text-align: start; \n text-indent: 0px; text-transform: none; white-space: normal; \n widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; \n -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, \n 255); " ><br> \n </div> \n <div style= " color: rgb(34, 34, 34); font-family: arial, \n sans-serif; font-size: 12.666666984558105px; font-style: normal; \n font-variant: normal; font-weight: normal; letter-spacing: \n normal; line-height: normal; orphans: auto; text-align: start; \n text-indent: 0px; text-transform: none; white-space: normal; \n widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; \n -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, \n 255); " >This is Bob.<span class= " Apple-converted-space " > <img \n alt= " " src= " cid:part1.04060802.06030207@newsletters.newsblur.com " \n height= " 15 " width= " 33 " ></span></div> \n <div style= " color: rgb(34, 34, 34); font-family: arial, \n sans-serif; font-size: 12.666666984558105px; font-style: normal; \n font-variant: normal; font-weight: normal; letter-spacing: \n normal; line-height: normal; orphans: auto; text-align: start; \n text-indent: 0px; text-transform: none; white-space: normal; \n widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; \n -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, \n 255); " ><br> \n I also attached a file.<br> \n <br> \n </div> \n <div style= " color: rgb(34, 34, 34); font-family: arial, \n sans-serif; font-size: 12.666666984558105px; font-style: normal; \n font-variant: normal; font-weight: normal; letter-spacing: \n normal; line-height: normal; orphans: auto; text-align: start; \n text-indent: 0px; text-transform: none; white-space: normal; \n widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; \n -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, \n 255); " >Thanks,</div> \n <div style= " color: rgb(34, 34, 34); font-family: arial, \n sans-serif; font-size: 12.666666984558105px; font-style: normal; \n font-variant: normal; font-weight: normal; letter-spacing: \n normal; line-height: normal; orphans: auto; text-align: start; \n text-indent: 0px; text-transform: none; white-space: normal; \n widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; \n -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, \n 255); " >Bob</div> \n <br> \n On 04/26/2013 11:29 AM, Alice wrote:<br> \n </div> \n <blockquote cite= " mid:517AC78B.5060404@newsletters.newsblur.com " type= " cite " >Hi \n Bob, \n <br> \n <br> \n This is Alice. How are you doing? \n <br> \n <br> \n Thanks, \n <br> \n Alice \n <br> \n </blockquote> \n <br> \n </body> \n </html> \n ' ,
' References ' : ' <517AC78B.5060404@newsletters.newsblur.com> ' ,
' signature ' : ' 0369fa4dcc7de7fac51f5bb408bd5c9daa8730e80d394e8a128658d74e669049 ' ,
' Content-Type ' : ' multipart/mixed; boundary= " ------------020601070403020003080006 " ' ,
' Subject ' : ' Re: Sample POST request '
}
2016-02-09 13:43:57 -08:00
response = HttpResponse ( ' OK ' )
2016-02-09 16:22:22 -08:00
email_newsletter = EmailNewsletter ( )
story = email_newsletter . receive_newsletter ( params )
if not story :
raise Http404
return response
def newsletter_story ( request , story_hash ) :
story = MStory . objects . get ( story_hash = story_hash )
story = Feed . format_story ( story )
return HttpResponse ( story [ ' story_content ' ] )