BAE java 本地测试发送邮件

本贴最后更新于 4104 天前,其中的信息可能已经物是人非


本来就想测试下发送邮件,结果不到十行代码的东西搞了 N 久,回顾一下记录之



1、搭建环境

BAE 内置的一些基础 class 百度没提供 jar 包,貌似是集成在 Baidu Eclipse 插件里的,而 Baidu Eclipse 插件只适用于 Eclipse 3.7.x 版本,所以还要注意 Eclipse 的版本,如果是 MyEclipse,到安装目录 readme/readme_eclipse.html 查看 Eclipse 的版本



Baidu Eclipse 插件在线安装地址 http://bs.baidu.com/cloud-develop-toolkits/

懒人直接下载集成好的 eclipse,http://developer.baidu.com/wiki/index.php?title=docs/cplat/ide/install#.E4.B8.80.E9.94.AE.E5.AE.89.E8.A3.85



jetty 插件,由于 BAE 是跑在 jetty 下的,所以他的项目如果用 tomcat 跑的话可能跑不起来

eclipse 在线安装地址 http://run-jetty-run.googlecode.com/svn/trunk/updatesite

不过我试着好像这个版本的有问题,虽然能运行,但是运行配置的地方挂了,不知道是不是我人品有问题

如果有问题的话可以用老版本试试 http://run-jetty-run.googlecode.com/svn/trunk/updatesite-old



2、测试环境

下个 BAE 云服务 SDK 示例

http://bcs.duapp.com/cplat-01/demo%2Fcservice_demo_java.zip



导入后应该各种错误

首先转换成 web 项目,右键项目-->properties-->Project Facets,勾上 Dynamic Web Module,然后下面有个链接,点他修改部署根目录(最好修改根目录到/下)和 WEBROOT 目录,再到 Deployment Assembly 里看看 Deploy 的配置是不是正确

现在还缺 BAE 的 lib,右键项目-->Baidu-->Convert to BAE (Java) project,转换成 BAE 项目

如果还有错,看下项目的 3 个 lib 是不是加到 Web App Lib 下了,貌似他原来不是在 WEB-INF 下的



没问题后右键项目 Run As-->Run Jetty



3、发送邮件

到这基本就算完了,BAE 发邮件不用我们直接指定 smtp 服务器、发件邮箱什么的,用百度的消息系统,代码很简单,百度也给例子了 http://developer.baidu.com/wiki/index.php?title=docs/cplat/mq/sdk/java

如果我们只用来简单发邮件的话,只用发邮件的代码就可以了,队列到 BAE 管理中心手工创建一个就可以用了,不用写在程序里



//(1)通过工厂类获得BCMSRestClient类实例
//BaeBcms bcms = BaeFactory.getBaeBcms();
BaeBcms bcms = new BCMSRestClient(new CServKeyPair("1sxxxxxxxxxxxxxxxxx", "H0xxxxxxxxxxxxxxxxx"), "http://bcms.api.duapp.com");
 
//发送邮件
MailRequest mailRequest = new MailRequest();
mailRequest.setQueueName("9553xxxxxxxxxxxxxxxxxxx");
mailRequest.setMessage("<!--HTML--><p>hello world!</p>");
mailRequest.addMailAddress("root@tly.pw");
mailRequest.setFrom("from@baidu.com");
mailRequest.setV("2");
mailRequest.setSubject("title");
bcms.mail(mailRequest);


要注意一点,如果是本地测试,不能用工厂类获取BCMS实例,那个在BAE上是可以被注入进去的,本地只能自己指定AK和SK

最后就是,那个邮件来源不知道是要符合什么规则还是压根就是摆设,没有效果,想来也不会任意指定,太逆天了


  • BAE

    百度应用引擎(Baidu App Engine)提供了 PHP、Java、Python 的执行环境,以及云存储、消息服务、云数据库等全面的云服务。它可以让开发者实现自动地部署和管理应用,并且提供动态扩容和负载均衡的运行环境,让开发者不用考虑高成本的运维工作,只需专注于业务逻辑,大大降低了开发者学习和迁移的成本。

    19 引用 • 75 回帖 • 642 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • MyBatis

    MyBatis 本是 Apache 软件基金会 的一个开源项目 iBatis,2010 年这个项目由 Apache 软件基金会迁移到了 google code,并且改名为 MyBatis ,2013 年 11 月再次迁移到了 GitHub。

    170 引用 • 414 回帖 • 386 关注
  • 安装

    你若安好,便是晴天。

    132 引用 • 1184 回帖
  • 书籍

    宋真宗赵恒曾经说过:“书中自有黄金屋,书中自有颜如玉。”

    77 引用 • 390 回帖
  • SOHO

    为成为自由职业者在家办公而努力吧!

    7 引用 • 55 回帖 • 18 关注
  • NetBeans

    NetBeans 是一个始于 1997 年的 Xelfi 计划,本身是捷克布拉格查理大学的数学及物理学院的学生计划。此计划延伸而成立了一家公司进而发展这个商用版本的 NetBeans IDE,直到 1999 年 Sun 买下此公司。Sun 于次年(2000 年)六月将 NetBeans IDE 开源,直到现在 NetBeans 的社群依然持续增长。

    78 引用 • 102 回帖 • 681 关注
  • 机器学习

    机器学习(Machine Learning)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

    83 引用 • 37 回帖 • 1 关注
  • WiFiDog

    WiFiDog 是一套开源的无线热点认证管理工具,主要功能包括:位置相关的内容递送;用户认证和授权;集中式网络监控。

    1 引用 • 7 回帖 • 589 关注
  • Gzip

    gzip (GNU zip)是 GNU 自由软件的文件压缩程序。我们在 Linux 中经常会用到后缀为 .gz 的文件,它们就是 Gzip 格式的。现今已经成为互联网上使用非常普遍的一种数据压缩格式,或者说一种文件格式。

    9 引用 • 12 回帖 • 134 关注
  • ZeroNet

    ZeroNet 是一个基于比特币加密技术和 BT 网络技术的去中心化的、开放开源的网络和交流系统。

    1 引用 • 21 回帖 • 638 关注
  • Laravel

    Laravel 是一套简洁、优雅的 PHP Web 开发框架。它采用 MVC 设计,是一款崇尚开发效率的全栈框架。

    20 引用 • 23 回帖 • 721 关注
  • CloudFoundry

    Cloud Foundry 是 VMware 推出的业界第一个开源 PaaS 云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题。

    5 引用 • 18 回帖 • 168 关注
  • DevOps

    DevOps(Development 和 Operations 的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。

    47 引用 • 25 回帖
  • Maven

    Maven 是基于项目对象模型(POM)、通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。

    186 引用 • 318 回帖 • 303 关注
  • frp

    frp 是一个可用于内网穿透的高性能的反向代理应用,支持 TCP、UDP、 HTTP 和 HTTPS 协议。

    20 引用 • 7 回帖
  • 分享

    有什么新发现就分享给大家吧!

    248 引用 • 1792 回帖 • 1 关注
  • Gitea

    Gitea 是一个开源社区驱动的轻量级代码托管解决方案,后端采用 Go 编写,采用 MIT 许可证。

    4 引用 • 16 回帖 • 5 关注
  • 创造

    你创造的作品可能会帮助到很多人,如果是开源项目的话就更赞了!

    179 引用 • 995 回帖 • 1 关注
  • Typecho

    Typecho 是一款博客程序,它在 GPLv2 许可证下发行,基于 PHP 构建,可以运行在各种平台上,支持多种数据库(MySQL、PostgreSQL、SQLite)。

    12 引用 • 65 回帖 • 437 关注
  • OpenShift

    红帽提供的 PaaS 云,支持多种编程语言,为开发人员提供了更为灵活的框架、存储选择。

    14 引用 • 20 回帖 • 633 关注
  • 安全

    安全永远都不是一个小问题。

    199 引用 • 816 回帖
  • Mac

    Mac 是苹果公司自 1984 年起以“Macintosh”开始开发的个人消费型计算机,如:iMac、Mac mini、Macbook Air、Macbook Pro、Macbook、Mac Pro 等计算机。

    166 引用 • 595 回帖 • 1 关注
  • 又拍云

    又拍云是国内领先的 CDN 服务提供商,国家工信部认证通过的“可信云”,乌云众测平台认证的“安全云”,为移动时代的创业者提供新一代的 CDN 加速服务。

    21 引用 • 37 回帖 • 547 关注
  • Eclipse

    Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。

    75 引用 • 258 回帖 • 618 关注
  • 新人

    让我们欢迎这对新人。哦,不好意思说错了,让我们欢迎这位新人!
    新手上路,请谨慎驾驶!

    52 引用 • 228 回帖
  • Unity

    Unity 是由 Unity Technologies 开发的一个让开发者可以轻松创建诸如 2D、3D 多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

    25 引用 • 7 回帖 • 173 关注
  • Dubbo

    Dubbo 是一个分布式服务框架,致力于提供高性能和透明化的 RPC 远程服务调用方案,是 [阿里巴巴] SOA 服务化治理方案的核心框架,每天为 2,000+ 个服务提供 3,000,000,000+ 次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。

    60 引用 • 82 回帖 • 597 关注
  • 快应用

    快应用 是基于手机硬件平台的新型应用形态;标准是由主流手机厂商组成的快应用联盟联合制定;快应用标准的诞生将在研发接口、能力接入、开发者服务等层面建设标准平台;以平台化的生态模式对个人开发者和企业开发者全品类开放。

    15 引用 • 127 回帖 • 1 关注