내 앱은 수신 이메일을 수신하고 발신자의 이메일 주소를 데이터 저장소에 저장합니다. 때문에 내 응용 프로그램 방식App Engine Datastore 잘못된 형식의 이메일 저장
John Smith <[email protected]>
하고 쿼리가 난 단지이 형식으로 주소를 검색 할 수 있습니다 설정되어 있습니다입니다 : 내가 사용하려고 노력 [email protected]
문제는이 형식으로 저장입니다 메시지를 서식을 정규식하지만 어떤 이유로 작동하지 않습니다, 내가 시도하는 모든 식에 대한 범위 오류 범위 밖의 목록 인덱스를 가져옵니다. 도움이된다면 여기 내 메일 처리기 용 코드가 있습니다.
App Engine에서 로그를 확인하고 필요한 형식으로 들어오는 메시지가 왔지만 데이터 저장소 엔티티를 확인하고 이름도 함께 추가합니다.
이메일 주소를 추가 비트없이 저장하는 방법을 알아야합니다.
import webapp2
import logging
from google.appengine.ext.webapp import mail_handlers
from google.appengine.api import mail
import os
from main import WorkRequest
import re
class IncomingMailHandler(mail_handlers.InboundMailHandler):
def receive(self, message):
(encoding, payload) = list(message.bodies(content_type='text/plain'))[0]
body_text = payload.decode()
logging.info('Received email message from %s, subject "%s": %s' %
(message.sender, message.subject, body_text))
logging.info (message.sender)
logging.info(message.subject)
logging.info(body_text)
sender = str(message.sender)
logging.info(sender)
email_address = re.findall('<([^>])>', sender)[0]
wr = WorkRequest()
wr.email = email_address
wr.userId = None
wr.title = message.subject
wr.content = body_text
wr.status = "OPEN"
wr.submission_type = "EMAIL"
wr.assigned_to = "UNASSIGNED"
wr.put()
application = webapp2.WSGIApplication([('/_ah/mail/.+', IncomingMailHandler)],debug=True)