下面是用php 发送html Email。 开发平台: ubuntu. 开发环境: Php 5.2.3 Eclipse 3.5 + Xdebug
1 .需要安装的:
2 .Html Ad设计:
- css与Email client的兼容问题: Reference: http://www.campaignmonitor.com/css/
- 页面设计的两个要点:
- 在html Email能够有这样的链接: "If you cannot read this page properly, please click here",用户点击这个链接就可以直接访问到该URL.
- 有welcome Information.
<?php if ( isset( $mail ) && $mail == "yes" ) { ?>
<td align="right"><a href="<?php echo $current_url; ?>" target="_blank" class="a1"><?php echo "If you cannot read this page properly, please click here" ; ?></a>;</td>
<?php } else { ?>
<td align="right"><?php include ("languageselector.php")?></td>
<?php } ?>
3 .发送Email:
<?php
require_once("CommonDefn.php");
require_once("DataService.php");
include( "Curl.php"); //这是一个封装了curl的Class,已在附件中
function encodeMIMEString ($enc, $string) {
return "=?$enc?B?" . base64_encode($string) . "?=";
}
$encoding = "UTF-8";
$customerid = $_REQUEST[Token::$WEB_CUSTOMERID_TOKEN];
$_REQUEST[Token::$WEB_MAIL_TOKEN] = "yes";
if ( ! isset( $ds ) ) {
$ds = new DataService();
}
$custobj = $ds->getCustomerInfo($customerid);
if ( isset( $custobj ) ) {
// $_REQUEST["ac"] = $custobj->activationcode;
// $_REQUEST["v"] = $edmversion;
if ( $custobj->preferredlanguageid == 1 ) {
$_REQUEST["lang"] = "zh";
$_REQUEST["cty"] = "tw";
} else if ( $custobj->preferredlanguageid == 2 ) {
$_REQUEST["lang"] = "zh";
$_REQUEST["cty"] = "cn";
} else {
$_REQUEST["lang"] = "en";
$_REQUEST["cty"] = "us";
}
//include("edm." . $edmversion . ".php");
include("template/subject.php");
$mime_boundary = "----" . md5(time()) . "----";
$to = $custobj->firstname . " <" . $custobj->primaryemail . ">";
$from = "donotreply@xxx.hk";
$mailsubject = encodeMIMEString($encoding, $subject);
$headers = "From: XXX Customer Service <" . $from . ">\n";
$headers .= "Reply-To: XXX Customer Service <" . $from . ">\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Type: multipart/alternative; boundary=\"" . $mime_boundary . "\"\n";
$mailbody .= "--" . $mime_boundary . "\n";
$mailbody .= "Content-Type: text/html; charset=" . $encoding . "\n";
$mailbody .= "Content-Transfer-Encoding: 8bit\n\n";
//$mailbody .= $body;
// FINAL BOUNDARY
$curl= new cURL();
$servletpath = dirname( $_SERVER[PHP_SELF] );
$servername = $_SERVER[SERVER_NAME];
$destURL = "http://" . $servername . $servletpath . "/newsletter.php";
$fields =Token::$WEB_MAIL_TOKEN ."=yes" ;
$fields .= "&" . Token::$WEB_CUSTOMERID_TOKEN . "=" . $customerid . "&" ;
foreach($_REQUEST as $key => $value){
if(is_string($value)) {
$fields .= ($key . "=" . urlencode($value) . "&");
}
else if(is_array($value)) {
foreach($value as $single) {
$fields .= ($key . "[]=" . urlencode($single) . "&");
}
}
}
$postData = $fields;
$mailbody .= $curl->post($destURL,$postData);
$mailbody .= "--" . $mime_boundary . "--\n\n";
// SEND MAIL
$mail_sent = @mail( $to, $mailsubject, $mailbody, $headers );
if ( $mail_sent ) {
echo $to . " OK";
} else {
echo $to . " Fail";
}
} else {
echo "CustomerID " . $customerid . " is not found.";
}
?>
4. 测试和应用:
wget -q "http://192.168.199.3/ajax/newsletter/customerdirectemail.php?uucustomerid=101" -O -; echo ""; sleep 1
分享到:
相关推荐
它可被应用在ASP或VB程序上,用来编写发送Email的程序。 AspEmail支持多收信人、多密送人、多抄送人、多附件,HTML初始化、内嵌Images图形等功能。 AspEmail、AspJpeg、AspUpload都是Persits Software家的产品。
file:///::{450D8FBA-AD25-11D0-98A8-0800361B1103} (我的文档) file:///::{20D04FE0-3AEA-1069-A2D8-08002B30309D}/::{21EC2020-3AEA-1069-A2DD-08002B30309D} (回收站) file:///::{645FF040-5081-101B-9F08-00...
在HTML模板中,有一些特定的占位符需要替换,这些占位符由Azure AD B2C在运行时动态填充,例如`{{username}}`、`{{email}}`等。此外,你还需要添加JavaScript代码来处理表单验证、错误显示和按钮事件。 还要注意,...
5. **表单控件**:HTML5新增了多种表单输入类型,如date、time、email、url等,提高了用户体验和数据验证能力。 6. **Web Workers和Web Storage**:Web Workers使后台处理成为可能,提升网页性能;Web Storage提供...
<a href="http://www.beiyang.com/mail/email1.html" target="_blank"> 点击参看详情"> ();" style="FONT-SIZE:9pt; CURSOR:hand" align=right>关闭广告× ``` - **广告容器**:使用 `<div>` 元素作为广告的...
8. `link_man`、`link_email`和`link_phone`:广告联系人的信息。 9. `click_count`:广告被点击的次数。 10. `enabled`:标记广告是否启用。 `ecs_ad_custom`表是广告客户表,存储关于广告商的信息: 1. `ad_id`:...
- `position_style`:广告位的HTML模板代码。 4. **s_admin_action** - 管理权限分配表: - `action_id`:权限分配的唯一ID。 - `parent_id`:权限项的父ID,对应同一表中的其他`action_id`。 - `action_code`...
- `position_style`:广告位的HTML模板代码。 4. **ecs_admin_action** - 管理员权限列表树: - `action_id`:权限记录的自增ID。 - `parent_id`:当前权限项的父ID,对应本表的`action_id`。 - `action_code`...
- **ad_code**:广告的实际内容,对于文字和代码广告,直接包含文本或HTML代码;对于图片和Flash,则存储其URL。 - **start_time** 和 **end_time**:定义了广告的展示周期,确保广告在指定时间内有效。 - **link_...
当当失算于Email营销 知己知彼分析:何防止google adsense fraud clicks(欺骗点击作弊)的文章 Google AdSense工作原理 Google AD 何时可以取得收入? 研究 IIS6中上传文件尺寸太小...
- **link_email**: 广告联系人邮箱,类型为`varchar(60) NOT NULL`。 - **link_phone**: 广告联系人电话,类型为`varchar(60) NOT NULL`。 - **click_count**: 广告点击次数,类型为`mediumint(8) unsigned NOT NULL...
Email [thorough only] (eml):4465 6C 79 2D 64 61 74 65 3A 3. 压缩文件 ZIP Archive (zip):50 4B 03 04 RAR Archive (rar):52 61 72 21 1A 07 00 Windows Media (asf):6D 6F 6F 76 4. 音频文件 Wave (wav):...
- **link_email**:`varchar(60)` 类型,广告联系人的电子邮箱地址。 - **link_phone**:`varchar(60)` 类型,广告联系人的电话号码。 - **click_count**:`mediumint(8)` 类型,默认值为`0`,表示该广告被点击的...
本示例将实现文字跑马灯效果:文字超过显示宽度每间隔1s自动向左滚动显示,话不多说,请看代码 <!doctype html> <...meta name=format-detection content=telephone=no,email=no,date=no,ad
数据源属性能在运行时修改,生成ad hoc(动态)报表 灵活的非绑定数据 预览和输出-容易显示 支持C#代码 小型部署程序集,适用于Internet 上使用 TOC/Bookmarks 超链接 输出过滤文件格式为RTF、PDF、...
- `intext:"Create Blog" inurl:"/magazine.html"` - `inurl:"members/profile/" "/blog-view/"` - **解析**:第一种搜索语法帮助我们找到创建博客的相关页面,第二种则指向具体成员的博客视图。 10. **Social...
header.inc.php HTML头文件 ad.php 广告 ok.inc.php 页面返回码 ok.php 成功页面 error.inc.php 错误代码 error....
2. **广告管理**:这部分可能包含advertisers.php(广告商管理)、ads.php(广告管理)、ad_positions.php(广告位管理)等,用于处理广告的创建、修改和删除。 3. **会员系统**:可能有users.php(用户管理)、...