SaeMail使用示例
SAE的官方文档:http://apidoc.sinaapp.com/sae/SaeMail.html
SaeMail类的具体实现:http://apidoc.sinaapp.com/__filesource/fsource_sae__saemail.class.php.html
官方给出的demo:
<?php
$mail = new SaeMail();
$mail->setAttach( array( 'my_photo' => '照片的二进制数据' ) );
$ret = $mail->quickSend( 'to@sina.cn' , '邮件标题' , '邮件内容' , 'smtpaccount@gmail.com' , 'password' ); //发送失败时输出错误码和错误信息
if ($ret === false)
var_dump($mail->errno(), $mail->errmsg()); $mail->clean(); // 重用此对象
$ret = $mail->quickSend( 'to@sina.cn' , '邮件标题' , '邮件内容' , 'smtpaccount@unknown.com' , 'password' , 'smtp.unknown.com' , 25 ); // 指定smtp和端口 //发送失败时输出错误码和错误信息
if ($ret === false)
var_dump($mail->errno(), $mail->errmsg());
?>
千手修改了一下,写了一个更加详细的demo:
<?php $title = "请点击一下链接确认账户信息";
$content = "<p style=\"color:red\">确认地址:</p>
<p><a href=\"http://qianshouatsdnu.sinaapp.com\">http://qianshouatsdnu.sinaapp.com</a></p>"; $f = new SaeFetchurl();
$img_data = $f->fetch( 'http://qianshouatsdnu-qianshou.stor.sinaapp.com/14069974591495371377.jpg' );
$img = new SaeImage();
$img->setData( $img_data );
$new_data = $img->exec(); // 执行处理并返回处理后的二进制数据 $my_main_address = "你的邮箱地址";
$my_mail_password = "你的邮箱密码";
$to_mail_address = "用户的邮箱地址"; $mail = new SaeMail();
$mail->setAttach( array( 'my_photo.jpg' => $new_data) );
$mail->setOpt(array("content_type"=>"HTML")); //设定发送的内容为html格式
$ret = $mail->quickSend( $to_mail_address , $title , $content , $my_main_address , $my_mail_password ); //发送失败时输出错误码和错误信息
if ($ret === false)
var_dump($mail->errno(), $mail->errmsg());
else
{
echo "send mail successfully!";
}
$mail->clean(); // 清理内容,以便下次使用
?>
用户收到的邮件效果图:
SaeMail使用示例的更多相关文章
- Swift3.0服务端开发(一) 完整示例概述及Perfect环境搭建与配置(服务端+iOS端)
本篇博客算是一个开头,接下来会持续更新使用Swift3.0开发服务端相关的博客.当然,我们使用目前使用Swift开发服务端较为成熟的框架Perfect来实现.Perfect框架是加拿大一个创业团队开发 ...
- .NET跨平台之旅:将示例站点升级至 ASP.NET Core 1.1
微软今天在 Connect(); // 2016 上发布了 .NET Core 1.1 ,ASP.NET Core 1.1 以及 Entity Framework Core 1.1.紧跟这次发布,我们 ...
- 通过Jexus 部署 dotnetcore版本MusicStore 示例程序
ASPNET Music Store application 是一个展示最新的.NET 平台(包括.NET Core/Mono等)上使用MVC 和Entity Framework的示例程序,本文将展示 ...
- WCF学习之旅—第三个示例之四(三十)
上接WCF学习之旅—第三个示例之一(二十七) WCF学习之旅—第三个示例之二(二十八) WCF学习之旅—第三个示例之三(二十九) ...
- JavaScript学习笔记(一)——延迟对象、跨域、模板引擎、弹出层、AJAX示例
一.AJAX示例 AJAX全称为“Asynchronous JavaScript And XML”(异步JavaScript和XML) 是指一种创建交互式网页应用的开发技术.改善用户体验,实现无刷新效 ...
- XAMARIN ANDROID 二维码扫描示例
现在二维码的应用越来越普及,二维码扫描也成为手机应用程序的必备功能了.本文将基于 Xamarin.Android 平台使用 ZXing.Net.Mobile 做一个简单的 Android 条码扫描示 ...
- iOS之ProtocolBuffer搭建和示例demo
这次搭建iOS的ProtocolBuffer编译器和把*.proto源文件编译成*.pbobjc.h 和 *.pbobjc.m文件时,碰到不少问题! 搭建pb编译器到时没有什么问题,只是在把*.pro ...
- Android种使用Notification实现通知管理以及自定义通知栏(Notification示例四)
示例一:实现通知栏管理 当针对相同类型的事件多次发出通知,作为开发者,应该避免使用全新的通知,这时就应该考虑更新之前通知栏的一些值来达到提醒用户的目的.例如我们手机的短信系统,当不断有新消息传来时,我 ...
- oracle常用函数及示例
学习oracle也有一段时间了,发现oracle中的函数好多,对于做后台的程序猿来说,大把大把的时间还要学习很多其他的新东西,再把这些函数也都记住是不太现实的,所以总结了一下oracle中的一些常用函 ...
随机推荐
- JDBC 1 利用Statement对数据库进行增删改查
准备工作 1新建po类:User private int id; private String name; private String pwd; set,get方法省略 2 新建UserDao类, ...
- uoj #190. 【集训队互测2016】消失的源代码 提交答案题
Test 1: 发现是一个字母表的映射 把 \('a' \to 'z'\) 打进去找出映射就好了QAQ . Test 2: 求助 \(dalao\) 得知的点.. 答案是 : \(2016x^2 + ...
- 两种方式创建Maven项目【方式二】
1.不勾选Create a simple project,直接点击下一步 2.选择maven-archetype-webapp下一步 3.填写相关信息,点击下一步完成 4.此时会报一个jsp的错误.我 ...
- js练习题笔记
javascrip测试题: 一.选择题(每题2分,多选题错选.少选不得分) 1.分析下段代码输出结果是( ) var arr = [2,3,4,5,6]; var sum =0; f ...
- flask 之 mongodb
查看mongod 是否启动,启动了会显示进程ID和程序名 pgrep mongod -l 查找mongod的位置whereis mongod 或locate mongod 启动mongodmongod ...
- Delphi单元文件之-简体繁体互转
Function GBCht2Chs(GBStr: String): AnsiString; {GBK繁体转简体} Var len:integer; pGBCHTChar: PChar; ...
- 完整的qt安装教程
大家可能认为qt收费了 其实不是 大家直接点击 这个 Community 这里的下载 Download 然后呢 就跳转到这个界面 点击 Qt Offline Installer 就会跳到这个地方 滑下 ...
- nextSibling VS nextElementSibling
2. nextSibling vs nextElementSibling { //FF { 在Firefox中,link2的nextSibling并不是link3,因为两者之间有一个换行符. 这被认为 ...
- 【转】使用Jmeter针对ActiveMQ JMS Point To Point压力测试
准备工作 针对JMS类型的Sampler,需要额外的jar包(这里用的是apache ActiveMQ,将下载的AMQ apache-activemq-5.5.0根目录下的activemq-all-5 ...
- java分割函数split的用法(二)
package com.b; public class Sysetm { public static void main(String[] args) { String a=new String(&q ...