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. Python全栈-magedu-2018-笔记11

    第三章 - Python 内置数据结构 简单选择排序 简单选择排序 属于选择排序 两两比较大小,找出极值(极大值或极小值)被放置在固定的位置,这个固定位置一般指的是某一端 结果分为升序和降序排列 降序 ...

  2. git 错误 fatal: Not a valid object name: 'master'

    问题场景:新建git项目或刚为已存在项目创建了git仓库,想用git branch dev创建dev分支或用git checkout -b dev创建并切换到dev分支时报错. 原因:刚创建的git仓 ...

  3. 内部排序->选择排序->树形选择排序

    文字描述 树形选择排序又称锦标赛排序; 比如,在8个运动员中决出前3名至多需要11场比赛, 而不是7+6+5=18场比赛(它的前提是甲胜乙,乙胜丙,则甲必能胜丙) 首先对n个记录的关键字进行两两比较, ...

  4. 如何获取Android系统APP的Package Name和Activity Name

    有两种方式: 方式一.aapt.exe查看Package Name和入口Activity Name (1) 在安装路径android-sdk\platform-tools下查找aapt.exe:  如 ...

  5. 什么是Docker?(一)

    Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目,它是基于 dotCloud 公司多年云服务技术的一次革新,并于 2013 年 3 月以 ...

  6. 【托业】【新托业TOEIC新题型真题】学习笔记4-题库一->P7

    --------------------------------------单词-------------------------------------- reimbursement n. 报销:偿 ...

  7. Centos6.5+Redmine

    花了两天时间,基于centos6.5操作系统,搭建了redmine环境,在这里记录下过程中遇到的问题以及搭建流程. centos6.5; redmine2.5.0; Ruby1.9.3; step 1 ...

  8. windows版本下ELK配置

    windows版本的es和kibana相对配置起来很简单,网上已经有很多例子都是正确的,只需按照步骤安装一下即可. 主要logstash,网上说的方案,大都不能配置成功,或者总有一些错误,下面把我自己 ...

  9. Vue 通过 Lodash 限制操作频率

    <template> <div id="watch-example"> <p> Ask a yes/no question: <input ...

  10. OC通讯录选择封装

    ContactsService.h代码 #import <Foundation/Foundation.h> #import <UIKit/UIKit.h> //block返回选 ...