`

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家的产品。

    中国站长报总第五期

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

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

    荷音社区源码

    header.inc.php HTML头文件 ad.php 广告 ok.inc.php 页面返回码 ok.php 成功页面 error.inc.php 错误代码 error....

    电影网站系统源代码--008 http://shop.fytcw.com

    安装使用说明: 1、修改index/articleconn.asp、admin/articleconn.asp、...8、网站广告请修改ad/js目录下的1.js,2.js,3.js,4.js。 ***********************************

    仿中关村在线首页弹出式广告插件(jQuery版)

    其的就不多说啦,直接上代码: jquery 插件: 代码如下: /* 疯狂秀才 制作 于 2012-04-24 17:00 QQ: 1055818239 email: hxl_apple@163.com */ (function($){ $.fn.quickAd = function... var fkxc_ad = 0; var bod

    drawtogether:基于@dmarkant的drawinggether众包程序的与psiturk兼容的实验

    聚在一起基于@dmarkant的drawtogther众包...on_error ,您的大学/组织名称等) 用反映您的大学/组织的徽标替换static/images/university.png 编辑templates/ad.html文件以反映您的大学/组织以及您计划为图纸支付的金

    java面试题以及技巧

    │ │ icon-email.gif │ │ search.gif │ │ stats.js │ │ │ ├─java │ │ │ Desktop_.ini │ │ │ Java程序员认证模拟题及详细分析.doc │ │ │ question.rar │ │ │ test4.doc │ │ │ 模拟题.rar ...

    java面试题目与技巧1

    │ │ icon-email.gif │ │ search.gif │ │ stats.js │ │ │ ├─java │ │ │ Desktop_.ini │ │ │ Java程序员认证模拟题及详细分析.doc │ │ │ question.rar │ │ │ test4.doc │ │ │ 模拟题.rar ...

    java面试题及技巧4

    │ │ icon-email.gif │ │ search.gif │ │ stats.js │ │ │ ├─java │ │ │ Desktop_.ini │ │ │ Java程序员认证模拟题及详细分析.doc │ │ │ question.rar │ │ │ test4.doc │ │ │ 模拟题.rar ...

    java面试题及技巧3

    │ │ icon-email.gif │ │ search.gif │ │ stats.js │ │ │ ├─java │ │ │ Desktop_.ini │ │ │ Java程序员认证模拟题及详细分析.doc │ │ │ question.rar │ │ │ test4.doc │ │ │ 模拟题.rar ...

    java面试题以及技巧6

    │ │ icon-email.gif │ │ search.gif │ │ stats.js │ │ │ ├─java │ │ │ Desktop_.ini │ │ │ Java程序员认证模拟题及详细分析.doc │ │ │ question.rar │ │ │ test4.doc │ │ │ 模拟题.rar ...

    TMDT

    git config --global user.email“ ” git config --global user.name“您的名字” Ctrl + Shift + P&gt; Git:克隆 ---代码git ----- git pull origin main:更新代码,文件githubvề git fetch --all,git reset ...

    GitMirroring:使用Git复制创建回购

    git config --global user.email "&lt;e&gt;" git config --global user.name "&lt;username&gt;" 我们必须进行这些配置来确定我们在承诺中的视觉识别。 我们应该注意,我们将在此处编写的电子邮件地址和用户名是我们在github...

    asp.net mvc

    publicKeyToken="31bf3856ad364e35"/&gt; Create a new ASP.NET MVC 2 application. Copy the files from the Scripts directory of the new application into the Scripts directory of the existing ...

    .NET移动通信程序设计.rar

    9.2 Email........ 126 9.3 图像......... 127 9.4 XML ........ 133 9.5 XML Web Service ..... 141 第 10 章安全性. 149 附录 155 附录 1 Microsoft Mobile Internet Toolkit 兼容设备........ 155 附录2 ...

    ASP标准留言板强烈推荐

    'Admin_Ad.Asp '公告管理 'Admin_Admin.Asp '管理员修改 '-------------------------------------------------------------------------------- 'Inc(常用文件文件夹)目录文件说明 '------------------------...

    asp98简单留言板v2.1.rar

    'Admin_Ad.Asp '公告管理 'Admin_Admin.Asp '管理员修改 'admin_userpic.asp '管理会员头像 'admin_user.asp '会员管理 '-------------------------------------------------------------------------------...

Global site tag (gtag.js) - Google Analytics