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

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

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

“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

分享给朋友:

相关文章

88个Blog常用工具集锦

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

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

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

试试nomee:集众多功能于一身的AIR应用,很炫吧!

想必大家都听过多次all-in-one这个词组,比如著名的Firefox的all-in-one扩展。那么你应该对all-in-one的概念不会陌生。all-in-one就是集众多功能于一身,合而为一。   神奇的AIR应用,也有all-in-one了。集众多功能于一身的nomee,可以用来管理众多社会化网络应用。这款基于Adobe AIR的all-in-one应用可以简化并组织各大SNS中的内容,...

利用宕机检测,一劳永逸地解决ghs.google.com被封问题

今天我才知道,DNSMA是一个多么优秀的免费DNS,因为它提供了“宕机检测”功能。我们都知道ghs.google.com对应着多个IP,其中大部分都被GFW封锁了。那么,如果DNS服务器能够自动筛选出存活的ghs IP、自动为你的域名更改解析,我们就没有必要在被封后手动寻找手动更换解析了。DNSMA的“宕机检测”就实现了这一功能。方法很简单:首先把你...

TweetBoard.com:把Twitter放到自己的网站上

网站介绍:TweetBoard是一个基于Twitter的网站聊天室,可以将Twitter和自己的网站完美结合在一起,效果非常cool~TweetBoard可以实时处理你的Twitter信息流(最大延迟时间为1分钟),因此你可以把它跟Twitter账号一起用,并应用到任何网站(通过在网站中插入TweetBoard提供的代码)。你在TweetBoard上发布的消息会同时显示在Twitter上,并且可以...

PHP ASP比较:PHP比ASP优秀的七个理由

ASP是微软公司实现动态网页的一种技术。ASP支持一些脚本语言,主要以VBScript为主。与ASP相比较,你还可以选择另一中开放源代码编程语言——PHP,PHP可以运行在多种操作系统下,其中包括Linux和windows。虽然ASP是一种不错的技术,但从长远考虑我相信PHP在将来的技术领域里会有不凡的表现。我认为有七个理由可以说明PHP比ASP更优秀:1、速度、速度、速度...

发表评论

访客

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