`

Html Email AD

阅读更多
             下面是用php  发送html Email。    开发平台: ubuntu.  开发环境: Php 5.2.3 Eclipse 3.5 + Xdebug

1 .需要安装的:
  • postfix
  • curl for php

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
0
0
分享到:
评论

相关推荐

    Persits.MailSender发送邮件(ASPEmail组件)

    它可被应用在ASP或VB程序上,用来编写发送Email的程序。 AspEmail支持多收信人、多密送人、多抄送人、多附件,HTML初始化、内嵌Images图形等功能。 AspEmail、AspJpeg、AspUpload都是Persits Software家的产品。

    网页基础知识大全css html 知识

    file:///::{450D8FBA-AD25-11D0-98A8-0800361B1103} (我的文档) file:///::{20D04FE0-3AEA-1069-A2D8-08002B30309D}/::{21EC2020-3AEA-1069-A2DD-08002B30309D} (回收站) file:///::{645FF040-5081-101B-9F08-00...

    html-templates

    在HTML模板中,有一些特定的占位符需要替换,这些占位符由Azure AD B2C在运行时动态填充,例如`{{username}}`、`{{email}}`等。此外,你还需要添加JavaScript代码来处理表单验证、错误显示和按钮事件。 还要注意,...

    html5+css完全手册

    5. **表单控件**:HTML5新增了多种表单输入类型,如date、time、email、url等,提高了用户体验和数据验证能力。 6. **Web Workers和Web Storage**:Web Workers使后台处理成为可能,提升网页性能;Web Storage提供...

    带关闭按钮的漂浮广告代码

    &lt;a href="http://www.beiyang.com/mail/email1.html" target="_blank"&gt; 点击参看详情"&gt; ();" style="FONT-SIZE:9pt; CURSOR:hand" align=right&gt;关闭广告× ``` - **广告容器**:使用 `&lt;div&gt;` 元素作为广告的...

    ecshop数据字典

    8. `link_man`、`link_email`和`link_phone`:广告联系人的信息。 9. `click_count`:广告被点击的次数。 10. `enabled`:标记广告是否启用。 `ecs_ad_custom`表是广告客户表,存储关于广告商的信息: 1. `ad_id`:...

    ecshop_数据库表字典

    - `position_style`:广告位的HTML模板代码。 4. **s_admin_action** - 管理权限分配表: - `action_id`:权限分配的唯一ID。 - `parent_id`:权限项的父ID,对应同一表中的其他`action_id`。 - `action_code`...

    ECShop数据库字段详解.pdf

    - `position_style`:广告位的HTML模板代码。 4. **ecs_admin_action** - 管理员权限列表树: - `action_id`:权限记录的自增ID。 - `parent_id`:当前权限项的父ID,对应本表的`action_id`。 - `action_code`...

    ecshop数据库各表作用和各字段介绍

    - **ad_code**:广告的实际内容,对于文字和代码广告,直接包含文本或HTML代码;对于图片和Flash,则存储其URL。 - **start_time** 和 **end_time**:定义了广告的展示周期,确保广告在指定时间内有效。 - **link_...

    中国站长报总第五期

    当当失算于Email营销 知己知彼分析:何防止google adsense fraud clicks(欺骗点击作弊)的文章 Google AdSense工作原理 Google AD 何时可以取得收入? 研究 IIS6中上传文件尺寸太小...

    ECShop 数据库表结构详解

    - **link_email**: 广告联系人邮箱,类型为`varchar(60) NOT NULL`。 - **link_phone**: 广告联系人电话,类型为`varchar(60) NOT NULL`。 - **click_count**: 广告点击次数,类型为`mediumint(8) unsigned NOT NULL...

    各类文件的文件头标志.pdf

    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):...

    ECSHOP数据表字段说明

    - **link_email**:`varchar(60)` 类型,广告联系人的电子邮箱地址。 - **link_phone**:`varchar(60)` 类型,广告联系人的电话号码。 - **click_count**:`mediumint(8)` 类型,默认值为`0`,表示该广告被点击的...

    js实现文字跑马灯效果

    本示例将实现文字跑马灯效果:文字超过显示宽度每间隔1s自动向左滚动显示,话不多说,请看代码 &lt;!doctype html&gt; &lt;...meta name=format-detection content=telephone=no,email=no,date=no,ad

    ActiveReports for .NET--灵活强大的.Net 报表制作控件

    数据源属性能在运行时修改,生成ad hoc(动态)报表 灵活的非绑定数据 预览和输出-容易显示 支持C#代码 小型部署程序集,适用于Internet 上使用 TOC/Bookmarks 超链接 输出过滤文件格式为RTF、PDF、...

    利用谷歌+FootPrints快速搜索第三方博客

    - `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....

    基于PHP的盾灵广告联盟系统源码.zip

    2. **广告管理**:这部分可能包含advertisers.php(广告商管理)、ads.php(广告管理)、ad_positions.php(广告位管理)等,用于处理广告的创建、修改和删除。 3. **会员系统**:可能有users.php(用户管理)、...

Global site tag (gtag.js) - Google Analytics