2

アプリの発明者でShivalwolfsWolfWebEmail2を使用して、Google App Engine経由でメールを送信し、受信者のメールには何も届きません。

私のコードが正しいかどうかを確認する必要があります。

AppEngineでエラーが表示されない。

これは、webappを実行するコマンドに対して正しいように見えますか?

application = webapp.WSGIApplication([('/', MainPage), ('/sendemail', sendemail), ('/attach', attachfile)], debug=True)
def main():
  run_wsgi_app(application)

私は少し小さなキーボードの大きな指の症候群を持っていると思います。

よろしくお願いします。

OKジグ。どうもありがとう。ここにあります

class sendemail(webapp.RequestHandler):

  def process_email(self, data):
outvalue=""
ValidData = False
logging.info("data: %s" %data)
details=data.split("|||")
data = "\"%s\"" %data
if len(details) == 5 or len(details) == 7:
  message = mail.EmailMessage()
  message.sender = EmailFrom
  NewAuthKey = details[0]
  EmailTo = details[1]
  EmailSubject = details[2]
  EmailBody = details[3]
  EmailBody = EmailBody.replace("\\t","\t")
  if details[4].lower()=="yes" and len(details) == 7:
    filename=details[5];
    file_id=details[6];
  ValidData = True

if ValidData:
  if NewAuthKey == AuthKey:
    logging.info("Auth Key Valid")
  else:
    logging.info("Auth Key does not Match")
    outvalue = "Auth Key is Invalid"
    ValidData = False

if ValidData:
  if mail.is_email_valid(EmailTo):
    message.to = EmailTo
  else:
    logging.info("Email Address for TO Address is Invalid")
    outvalue = "Email Address for TO Address is Invalid"
    ValidData = False

if ValidData:
  if len(EmailBody) > 0 and len(EmailSubject) > 0:
    message.subject = EmailSubject
    message.body = EmailBody
  else:
    logging.info("Subject or Body was Empty")
    outvalue = "Subject or Body was left Empty"
    ValidData = False

if ValidData:
  if details[4].lower()=="yes":
    try:
       filedata = db.GqlQuery("SELECT * FROM emailattach WHERE id = :1 LIMIT 1",file_id).get()
       if filedata:
         message.attachments = [(filename, filedata.blob)]
    except Exception, message:
      ValidData = False
      logging.info("Could not attach file:\n\n "+str(message))
      outvalue = "Could not attach file:\n\n "+str(message)

if ValidData:
  try:
    message.send()
    logging.info("Email Sent")
    outvalue = "Email Sent"
if details[4].lower()=="yes":   ##delete the file once emailed
      key = db.GqlQuery("SELECT __key__ FROM emailattach where id = :1", file_id).get()
      if key:
        db.run_in_transaction(dbSafeDelete,key)

  except Exception, message:
    logging.info(message)
    outvalue = str(message)

self.response.out.write(outvalue)

それだといいのですが!これは初めてです。

4

2 に答える 2

0

ボイプラープレートの最後の部分を省略しました。

if __name__ == '__main__':
  main()

これがないと、各インスタンスへの最初のリクエストは処理されません。

于 2011-09-14T00:00:17.750 に答える
0

sendemail 機能を見せてもらえますか?

編集

message.sender = EmailFrom

メールフロムはどこですか?

すべての検証を削除して、メールが送信されるかどうかを確認してください。

最初にこれを実行してみてください-

message = mail.EmailMessage(sender="you@domain.com",
                            subject="Testing")
message.to = "you@domain.com"
message.body = "This is the body!"
message.send()

両方のメール アドレスを自分のメール アドレスに変更します。

動作する場合は、検証と他の部分を 1 つずつ確認します。

于 2011-09-14T19:44:13.250 に答える