windows下使用php自带的mail函数实现简单的邮件发送实例(QQ亲试成功)

功能实现:通过中间邮箱把客户的需求和产品信息全部发送到公司的业务员邮箱

环境及工具:

win7_64bit

phpstudy(初学者推荐工具) 包含php5.3、sendmail(没有的话可网上下)

两个QQ号 一个发一个收(我只有QQ邮箱,所以没测试其他邮箱,如163等)

前台(HTML+css+js):

<!-- Get quote popup start-->
<div class="option-container">
<style> @import "https://fonts.googleapis.com/css?family=Raleway";
* { box-sizing: border-box; }
body {
margin: 0;
padding: 0;
background: #fff;
font-family: Raleway;
text-transform: uppercase;
font-size: 11px;
}
h1{ margin: 0; }
#contact {

-webkit-user-select: none; /* Chrome/Safari */
-moz-user-select: none; /* Firefox */
-ms-user-select: none; /* IE10+ */
margin: auto;
padding: 5px 30px ;
width: auto;
height: auto;
line-height: 30px;
background: black;
color: white;
font-weight: 700;
text-align: center;
cursor: pointer;
border: 1px solid white;
}

#contact:hover { background: #666; }
#contact:active { background: #444; }

#contactForm {
z-index: 800;
display: none;
border: 2px solid #2979ff;
box-shadow:2px 3px 15px #2979ff;
padding: 10px;
width:380px;
text-align: center;
background-color: #fff;
position: fixed;
top:50%;
left:50%;
transform: translate(-50%,-50%);
-webkit-transform: translate(-50%,-50%)

}
.cf_regard{
color:#2979ff;
font-size:17px;
}
input, textarea {
margin: .8em auto;
font-family: inherit;
text-transform: inherit;
font-size: inherit;

display: block;
width: 280px;
padding: .4em;
}
textarea { height: 80px; resize: none; }

.formBtn {
width: 140px;
display: inline-block;

background: black;
color: #fff;
font-weight: 100;
font-size: 1.2em;
border: none;
height: 30px;
}</style>
<button class="btn btn-default" id="contact">Click to Enquiry</button>
<div id="contactForm" style="">
<h2 style="font-size:20px">Keep in touch!</h2>
<form action="send.php" method="post">
<input placeholder="Name" type="text" name="cf_name">
<input placeholder="Email" type="email" name="cf_email">
<input placeholder="Phone no." type="phone" name="cf_phone">
<input placeholder="subject" type="text" name="cf_regard" class="cf_regard" >
<textarea placeholder="Comment" cols="35" rows="5" name="cf_message"></textarea>
<input class="formBtn" type="submit" value="submit" />
<input class="formBtn" type="reset" value="reset"/>
</form>
</div>
<script>
$(function() {

// contact form animations
$('#contact').click(function() {
$('#contactForm').fadeToggle();
//Get product information
var textName=$("#content h1").text();
$(".cf_regard").val(textName);
})
$(document).mouseup(function (e) {
var container = $("#contactForm");

if (!container.is(e.target)
&& container.has(e.target).length === 0)
{
container.fadeOut();
}
});

});
</script>
</div>
<!-- Get quote popup end -->

后台(PHP):

<?php
$field_name = $_POST['cf_name'];
$field_email = $_POST['cf_email'];
$field_phone = $_POST['cf_phone'];
$field_regard = $_POST['cf_regard'];
$field_message = $_POST['cf_message'];

$mail_to = '2164792283@qq.com';
$subject = 'product Name: ' .$field_regard.'';

$body_message = 'User Name: ' .$field_name."\n";
$body_message .= 'User E-mail: ' .$field_email."\n";
$body_message .= 'User Phone: ' .$field_phone."\n";
$body_message .= 'User Subject: ' .$field_regard."\n";
$body_message .= 'User Message: ' .$field_message.'';

$mail_status = mail($mail_to, $subject, $body_message);
if ($mail_status) { ?>
<script>
alert('Thank you for your Enquiry. We will respond as soon as Possible');
window.history.go(-1);
</script>
<?php
}
else { ?>
<script>
alert('Message failed. Please, send an email to 2164792283@qq.com ');
</script>
<?php
}
?>

环境配置文件:

操作:

1、需要用到mail函数,大家可以调用 http://localhost/phpinfo.php 来查看自己的服务器是否支持这个函数。

这里mail邮件函数是 PHP 核心的组成部分。无需安装即可使用这些函数。

2、作为邮件发送方的QQ必须开启SMTP服务,不开启是无法实现在php脚本中使用该QQ邮箱实现邮箱发送的。具体如何设置可到网上百度。

php.ini :

SMTP = smtp.zoho.com

smtp_port =465

sendmail_from = 2164792283@qq.com(公司业务员邮箱)

sendmail_path ="C:\PHPsendmail\sendmail.exe -t"(sendmail对应地址,尽量越短越好!)

sendmail只能在网上下载压缩文件,window系统没有。

sendmail.ini:

smtp_server=smtp.zoho.com

smtp_port=465

smtp_ssl=auto

auth_username= as0090@asicedirect.com(中间邮箱)
auth_password= ######(中间邮箱的密码)

force_sender= as0090@asicedirect.com

error_logfile=error.log 建议开启(将前面的分号去掉),便于查找问题

debug_logfile=debug.log 建议开启(将前面的分号去掉),便于查找问题

总结:

最终能实现发送邮件,但可以看到这些邮件都会被腾讯判定为垃圾邮件放到垃圾箱中,根据研究发现,也许是PHP的问题,最后可以把中间邮箱添加为好友,并修改备注,就不会被判定为垃圾邮箱。虽然我只是一名前端开发师,但是我有一个做全栈的梦!

资料查询:

菜鸟教程:http://www.runoob.com/php/php-ref-mail.html

opencart.com插件:https://www.opencart.com/index.php?route=marketplace/download&member_token=W5IE8x4gtAJsYHVgjk0eLmuzo5c47rtD&extension_id=32635&filter_license=0

W3C:http://www.w3school.com.cn/php/php_ref_mail.asp
菜鸟教程:http://www.runoob.com/php/php-mail.html

42.PHP--电商网站的询价插件的更多相关文章

  1. YunCart电商网站支付宝接口出现500错误

    yuncart 是一套易与集成的php开源商城系统,方便多人同时经行二次开发,Yuncart 可以以非常方便的方式切换到sql server,oracle等数据库,大小1.9MB,感兴趣的朋友,可以去 ...

  2. 电商网站jQuery放大镜代码

    分享一款电商网站jQuery放大镜代码.这是一款基于jquery.elevatezoom插件实现的类似淘宝放大镜代码,提供40多种参数,可自由配置多种效果,适合电商或图片类网站使用.效果图如下: 在线 ...

  3. 项目二:企业级java电商网站开发(服务端)

    声明:项目源于网络,支持正版教程,学习使用,仅记录在此 项目介绍 企业级java电商网站开发(服务端),模块划分:用户管理,商品管理,商品品类管理,订单管理,订单详情管理,购物车管理,收货地址管理,支 ...

  4. [.NET] 一步步打造一个简单的 MVC 电商网站 - BooksStore(一) (转)

    http://www.cnblogs.com/liqingwen/p/6640861.html 一步步打造一个简单的 MVC 电商网站 - BooksStore(一) 本系列的 GitHub地址:ht ...

  5. 如何一步一步用DDD设计一个电商网站(九)—— 小心陷入值对象持久化的坑

    阅读目录 前言 场景1的思考 场景2的思考 避坑方式 实践 结语 一.前言 在上一篇中(如何一步一步用DDD设计一个电商网站(八)—— 会员价的集成),有一行注释的代码: public interfa ...

  6. 如何一步一步用DDD设计一个电商网站(八)—— 会员价的集成

    阅读目录 前言 建模 实现 结语 一.前言 前面几篇已经实现了一个基本的购买+售价计算的过程,这次再让售价丰满一些,增加一个会员价的概念.会员价在现在的主流电商中,是一个不大常见的模式,其带来的问题是 ...

  7. 如何一步一步用DDD设计一个电商网站(十)—— 一个完整的购物车

     阅读目录 前言 回顾 梳理 实现 结语 一.前言 之前的文章中已经涉及到了购买商品加入购物车,购物车内购物项的金额计算等功能.本篇准备把剩下的购物车的基本概念一次处理完. 二.回顾 在动手之前我对之 ...

  8. 如何一步一步用DDD设计一个电商网站(一)—— 先理解核心概念

    一.前言     DDD(领域驱动设计)的一些介绍网上资料很多,这里就不继续描述了.自己使用领域驱动设计摸滚打爬也有2年多的时间,出于对知识的总结和分享,也是对自我理解的一个公开检验,介于博客园这个平 ...

  9. 如何一步一步用DDD设计一个电商网站(七)—— 实现售价上下文

    阅读目录 前言 明确业务细节 建模 实现 结语 一.前言 上一篇我们已经确立的购买上下文和销售上下文的交互方式,传送门在此:http://www.cnblogs.com/Zachary-Fan/p/D ...

随机推荐

  1. HDU 3183 - A Magic Lamp - [RMQ][ST算法]

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3183 Problem DescriptionKiki likes traveling. One day ...

  2. POJ 2299 Ultra-QuickSort 离散化加树状数组求逆序对

    http://poj.org/problem?id=2299 题意:求逆序对 题解:用树状数组.每读入一个数x,另a[x]=1.那么a数列的前缀和s[x]即为x前面(或者说,再x之前读入)小于x的个数 ...

  3. 存储空间消耗磁盘比较 int varchar date

    小结: 1.日期类型按照date存储节省空间,仅3字节,而按照字符串型char 8字节 20190316 ,  varchar  20190316 9字节: 2.对于小于32768的整数,按照smal ...

  4. 2016年蓝桥杯省赛A组c++第2题(暴力求解)

    /* 某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛. 现在算起来,他一共吹熄了236根蜡烛. 请问,他从多少岁开始过生日party的? 请填写他开始过生日party ...

  5. PHP进阶-PHP执行和加速原理

  6. 篮球游戏AI预研

    参考文献: 1.体育竞技游戏的团队AI http://blog.csdn.net/skywind/article/details/44922877 2.

  7. fastreport好象将想合并哪个单元就将那一列的TEXT控件的Merge的属性设成True就可以了

    好象将想合并哪个单元就将那一列的TEXT控件的Merge的属性设成True就可以了 可以用FASTREPORT中的分组打印,你看一下里面的DEMO,里面都有的, 高版本的有suppressRepeat ...

  8. EF-CodeFirst-数据库初始化

    数据库初始化 之前看到Code-First会自动根据域模型创建数据库,下图展示了一个数据库初始化工作流程,该工作流程基于从DbContext派生的上下文类的基础构造函数中传递的参数 如上图所示,上下文 ...

  9. ipv6的校验格式

    ipv6的校验格式: ^(?:[0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$

  10. linux链接库的理解

    前段时间遇到个奇怪的问题,经调试是由于可执行程序A编译时使用的libssl.so.1.1及对应版本头文件,A链接的库libtest.so编译时使用的libssl.so.1.0及对应版本头文件,执行时l ...