当前位置:首页 > 网站制作 > 正文内容

Google App Engine(GAE)接收邮件(E-mail)及转载用法

admin17年前 (2009-10-18)网站制作560

“Google App Engine 可让您在 Google 的基础架构上运行您的网络应用程序。App Engine 应用程序易于构建和维护,并可根据您的访问量和数据存储需要的增长轻松扩展。使用 Google App Engine,将不再需要维护服务器:您只需上传您的应用程序,它便可立即为您的用户提供服务.继09月03日提供XMPP服务支持后,10月13 日又更新了SDK,增加了接收邮件(Incoming email support)支持。

Google App Engine提供了2种发送邮件的方式。

第一种方式是用mail API的send_mail或send_mail_to_admins函数。

前者可以发给任意邮箱,后者是发给这个应用程序的管理员(所以不用给出收件人邮箱)。这是完整的参数列表文档

必填的参数有(更进一步来说,这些参数都不能为空字符串):

sender:发信人邮箱。必须为当前登录用户或这个应用程序的管理员的邮箱。

to:收件人邮箱。有2种方式:”[email protected]”和”ooxx <[email protected]>”。还可以发给多个收件人,如:["[email protected]", "[email protected]"]。

subject:邮件主题

body:邮件内容(纯文本)

可选参数有:

cc:抄送人邮箱。参数类型同收件人邮箱。

bcc:密送人邮箱。参数类型同收件人邮箱。

reply_to:指定收件人回复的地址(不给出时,默认是回复给发信人)

html:用html方式写的邮件内容。如果收件人的邮件客户端支持html,则显示这部分内容。但body参数不能省略,仍必须给出。

attachments:附件。它是一个由元组(tuple)组成的列表(list)。每个元组都用于描述一个附件,它们都含2个值,分别为文件名和文件内容(类型为byte string)。由于我也没发过,建议大家直接参考示例代码和支持的文件格式

下面给个简单的例子,演示怎么发邮件:

代码:

from google.appengine.api import mail

mail.send_mail(’[email protected]’,

[email protected]’,

u’发现红包’, #中文必须写成unicode,不然会变成乱码

‘rt’,

html = u’<a href=”http://www.xxx.com/”>领取红包</a>’)

第二种方式是用mail API的EmailMessage类

首先需要创建一个mail.EmailMessage类型的对象,再给这个参数的属性赋值(即收件人邮箱等,也可以在创建对象时就赋值),最后调用对象的send方法就可以了。对象的属性和上面send_mail的参数列表是一样的。

这种方式可以重复利用对象,只需更改对象的属性,然后调用send方法,就可以多次发送邮件。如果需要多次发送,每次只需更改稍许内容,则用这种方式比较方便。

由于Google给出了示例代码(含发信人为当前登录用户的情况),我就不自己写了。

注意:

发送过程是异步执行的,发送时只送到Google App Engine的邮件服务器(我这里显示的邮送域是apphosting.bounces.google.com)便返回(不会报告错误)。如果发送失败, 发信人只会在自己邮箱收到发送失败的提示邮件,Google App Engine不会也无法对其进行错误处理。

但如果发送时参数有误(如邮件地址不合法,或少了邮件内容等),则可能会产生出现异常,这里有详细的异常列表

此外,mail API里还有检查邮箱地址是否合法的函数。

扫描二维码推送至手机访问。

版权声明:本文由博赚恋吧资源站发布,如需转载请注明出处。

本文链接:https://432l.com/post/1506.html

分享给朋友:

相关文章

2009年海外Web设计风潮—反 Box 布局

反 Box 布局Smashing Magazine 曾有一篇文章,讲到反 Box 布局。所谓反 Box 布局,就是不再拘泥与传统的 Box 布局模型,而是采用一种更有创意的的布局,然而需要指出,这种创意布局需要非常注意易用性问题,一种新的创意布局需要时间去慢慢成熟。 ...

Z-blog标签及注释集合整理

很多人在用zblog ,遇到的问题很多,希望扩展的也很多。对于修改和丰富zblog程序的人来说,它的变量是必须的。它有一个很大的变量系统,如果一个一个去找,累死个人了。我现给这些帖出来,希望对大家有用。<Zblog标签及注释>:本想修改下最近发表那块显示字数的长度的,找了半天没找到在哪里修改,这里这些标签还算是有用,先贴上,以备以后查看。模板类/TEMPLATE1. default.h...

88个Blog常用工具集锦

Adminimizer ToolbarInternet Explorer 6中,更新您的Blog 最容易的工具。ashnews 一个使用PHP/MySQL打造的简单程序,允许您很容易就添加一个news/blog 系统到您的站点。AvantBlog 一个非常简单的接口:它允许您通过AvantGo这个网站,从Palm或WinCE 设备张贴一篇blog。b2 一个news/blog 工具b2.evolu...

有了BlogBackupr,博客备份不再愁

 对于Blogger说来,备份是一件极其重要的事情,同时也是一件比较麻烦的事。不过,现在有了...

恋吧谈web2.0—SocialGo,创建你的社会化网络

现在貌似SNS挺火的,好多Blog都在讨论SNS,SNS网站也是做的很火热,从Facebook,Myspace,到国内蜂拥而来的数都数不过来的SNS网站们,开心网依靠SNS加上几个小游戏捕获N多白领的心,还有康盛创想的Ucenter让你自己轻松也能搞个SNS网站。貌似不搞点SNS就有点落伍了,今天站长时髦一点,来介绍一个可以自己创建SNS网站的服务SocialGo是一个提供创建社会化网络服务的网站...

Spottt—一个很好的免费链接互换提高流量服务

如果你也是经营网站部落格的站长,一定听过“流量就是金钱” ,如何让网站拥有更多的访客就显得相当重要。除了提供最优质的服务功能,不断更新网站内容外,透过交换连结的方式也可以让网站能见度提升不少。 Spottt目前的交换赚取/付出比例为3点04分。 当一位访客进入你的网站,你可以获取3个点数; 而让你的连结显示在其他网站,则必须付出4个点数。 Spottt提供免费的连结交换服务,只要在注册后将原始码放...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。