PHP实现发送邮件(附代码)

2023-11-19

发送邮寄功能的实现用到了PHP中的phpmailer函数包,它支持openssl和sockets。

下载地址

下载后找到class.phpmailer.php、class.smtp.php这两个文件,和你的代码放在一个目录。要实现发送邮件的功能,你还得去客户端配置你的邮箱服务,以QQ邮箱为例,找到设置–>账户,开启POP3/SMTP服务。

以上就是主要的准备工作。

下面就需要自己写好HTML文件以及获取前端信息的PHP文件。

PHP文件如下:

<?php
  function sendmail($to,$title,$content){
    //引入PHPmailer的核心文件,使用require_once包含避免出现PHPmailer类重复定义的警告
    require_once("class.phpmailer.php");
    require_once("class.smtp.php");
    //实例化PHPMailer核心类
    $mail=new PHPMailer();
    //启用smtp的debug进行调试
    $mail->SMTPDebug=1;
    //使用smtp鉴权方式发送邮件
    $mail->isSMTP();
    //SMTP需要鉴权,这个必须是true
    $mail->SMTPAuth=true;
    //链接QQ域名邮箱的服务器地址
    $mail->Host='smtp.qq.com';
    //设置使用ssl加密方式登录鉴权
    $mail->SMTPSecure='ssl';
    //设置ssl连接smtp服务器的远程服务器端口号
    $mail->Port=465;
    //设置发件人的主机域,可有可无 默认为localhost
    $mail->Hostname='';
    //设置发送的邮件的编码
    $mail->CharSet='UTF-8';
    //设置发件人的姓名 显示为发件人
    $mail->FromName=$title;
    //smtp登陆的账号
    $mail->Username='498443836@qq.com';
    //密码  使用生成的授权码
    $mail->Password='ixrwqxknssidbgcd';
    //设置发件人的邮箱地址
    $mail->From='498443836@qq.com';
    //邮件正文是否为HTML编码 此处是一个方法 不再是属性
    $mail->isHTML(true);
    $mail->addAddress($to,$title);
    $mail->Subject=$title;
    $mail->Body=$content;
    $status=$mail->send();

    //判断与提示信息
    if($status){
      return true;
    }else{
      return false;
    }

  }
  //获取前端提交的内容
  $title=$_POST['name'];
  $content=$_POST['message'];
  $to=$_POST['email'];
  $flag=sendmail($to,$title,$content);
  if ($flag) {
    echo "<script language=\"JavaScript\">alert(\"发送成功!\");</script>";
    
  }else{
    echo "发送失败!";
  }
?>

这是我设计的前端页面
这是我设计的前端页面
邮件发送前
在这里插入图片描述
成功发送
在这里插入图片描述

需要源码的小伙伴可以投币自取哦!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP实现发送邮件(附代码) 的相关文章

  • php exec 返回的结果比直接进入命令行要少

    我有一个 exec 命令 它的行为与通过 Penguinet 给 linux 的相同命令不同 res exec cd mnt mydirectory zcat log file gz echo res 当将命令直接放入命令行时 我在日志文件
  • 如何在 Laravel 5 中的视图模板上显示会话数据

    我正在尝试在 Laravel 5 中的视图模板上显示会话数据 但是它似乎没有显示任何内容 这是我用来设置会话的代码 Session set bookingConfirmed BookingDates where id Session get
  • UL 标签内的标签 H3 [重复]

    这个问题在这里已经有答案了 可能的重复 UL 中是否允许除 LI 之外的任何内容 https stackoverflow com questions 6056142 is anything except lis allowed in a u
  • 为整个网站设置单个图标

    目前我正在使用这段代码将网站图标添加到网站 但是 必须将此代码添加到每个 HTML 页面中 有谁知道如何设置全局图标 我看过的所有地方都告诉我必须将其添加到每个页面 UPDATE Chrome 在根目录中搜索 favicon ico 文件
  • 使用php插入sql数据库时出错

    我有一个带有 MySQL 插入查询的程序 sql INSERT INTO people person id name username password email salt VALUES person id name username p
  • 根据类别 woocommerce 更改同一产品的默认变体值

    我正在研究一种根据其所属类别显示同一产品的默认变体值的方法 例如 我出售一张带有蓝色和红色选项的卡 当用户进入 一 类别时 我希望默认值为蓝色 如果他属于第二类 则该值将为红色 我发现了一个钩子woocommerce product def
  • 如何在 WordPress/WooCommerce 3+ 中向评论表单添加自定义字段

    我正在尝试在产品评论中添加 电话 字段 WooCommerce 3 针对未注册用户 来宾 电话号码只能由管理员在管理面板中看到 电话字段需要填写 Required 我尝试了这段代码 但这不起作用 function true phone nu
  • Laravel 上传前如何压缩图像?

    我正在制作一个图片库网站 用户可以在其中上传任何图像 它们将显示在前端 我需要在不影响图像质量的情况下压缩图像 以减小图像大小 以便页面加载速度不会影响那么大 我使用以下代码来上传图像 rules array file gt require
  • 为什么 jQuery 点击事件会多次触发

    我这里有这个示例代码http jsfiddle net DBBUL 10 http jsfiddle net DBBUL 10 document ready function creategene click function confir
  • 将一个文本框的内容复制到另一个文本框

    假设在文本框中输入了一个条目 是否可以在第二个文本框中保留相同的输入文本 如果是这样 这是如何完成的
  • 我应该使用排队系统来处理付款吗?

    我在用着Slim https www slimframework com和这个结合Stripe 的 PHP 库 https stripe com docs api php在我的应用程序中处理付款 一切都很好 但是直到最近 我在我的系统中发现
  • SVG 转 JPG / PNG

    有没有工作模块可以convert a SVG image into像素格式如JPEG or PNG 看看蜡染工具包 具体来说是光栅化器 http xmlgraphics apache org batik tools rasterizer h
  • 如何检查一个值是否已经存在以避免重复?

    我有一个 URL 表 但我不想要任何重复的 URL 如何使用 PHP MySQL 检查给定 URL 是否已在表中 如果您不想重复 可以执行以下操作 添加唯一性约束 use REPLACE http dev mysql com doc ref
  • phpstorm xdebug 与 symfony2 项目

    我正在尝试使用 xdebug 和 phpstorm 调试 symfony2 应用程序 我的本地开发环境是Ubuntu 14 04 with apache2 Xdebug版本是2 2 7 我在另一个 php 不是 symfony2 项目上使用
  • 如何在 WordPress HTML 中包含“onclick”对象

    我正在尝试将 onclick 对象添加到触发事件的单站点 即而不是多站点 WordPress 中的页面 代码是 a href Send a voice message a 当尝试保存代码时 WordPress 会删除 onclick 对象
  • PHP:如何检查总数。 URL 中的参数?

    我正在使用 REQUEST 检索参数 有没有办法找到总数 URL 中的参数 而不是检索每个参数然后进行计数 这将为您提供总数 分隔的 URL 查询参数 count explode SERVER QUERY STRING 如果您只想要唯一的参
  • 如何清除WebGL中的矩形区域?

    WebGL 有一个clear清除整个表面的方法 清除表面的特定矩形的最佳方法是什么 例如 我想将一个从 50 50 开始的 100x100 像素框设置为全零 ARGB 0 0 0 0 我现在能想到的就是用一个写入零的片段着色器绘制一个四边形
  • 如何滚动到div内的元素?

    我有一个滚动的div我想在点击它时发生一个事件 它会强制执行此操作div滚动以查看内部元素 我写的JavasCript是这样的 document getElementById chr scrollIntoView true 但这会在滚动时滚
  • SimpleXML插入处理指令(样式表)

    我想集成一个XSL文件在一个XML给我的字符串php CURL命令 我试过这个 output XML gived me by curl option hotel simplexml load string output hotel gt a
  • gwt 中的垂直居中

    如何使用垂直面板在 gwt 中垂直居中 或者请告诉我有什么方法可以进行垂直居中 如果你想直接使用VerticalPanel从代码中 您需要使用setVerticalAlignment HasVerticalAlignment ALIGN M

随机推荐

  • 华三交换机查看上层交换机vlan

    您可以使用Huawei三层交换机查看和配置上层交换机的VLAN设置 可以使用命令 display vlan vlan id 查看指定的VLAN配置 使用命令 vlan vlan id vlan name 配置VLAN设置
  • 【廖雪峰python入门笔记】tuple_创建单元素

    tuple和list一样 可以包含 0 个 1个和任意多个元素 包含多个元素的 tuple 前面我们已经创建过了 包含 0 个元素的 tuple 也就是空tuple 直接用 表示 t print t 创建包含1个元素的 tuple 呢 来试
  • vue3 新特性

    注册全局组件 import HelloWorld from components HelloWorld vue const app createApp App 全局挂载属性和方法 方法一 app config globalPropertie
  • 2021年米哈游unity社招面试经历

    文章目录 简介 一面 二面 三面 四面 简介 我面试的岗位一共4轮 第1轮是电话技术面试 考察范围广 不细问 第2轮是视频面试 需要牛客网手写算法 第3轮是制作人 第4轮是BP 流程比较慢 投递到邀请面试大概过了一个月 面试一周多 offe
  • 使用Python实现累积面积图 using Python for cumulative area plot

    Code import matplotlib pyplot as plt import numpy as np np random seed 444 data np random rand 5 10 cumsum axis 1 years
  • 互联网 API 接口幂等性设计

    WEB 资源或 API 方法的幂等性是指一次和多次请求某一个资源应该具有同样的副作用 幂等性是系统的接口对外一种承诺 而不是实现 承诺只要调用接口成功 外部多次调用对系统的影响是一致的 幂等性是分布式系统设计中的一个重要概念 对超时处理 系
  • angular中的全局方法和指令介绍1

    复习并总结Angular开发流程 0 下载angular 暴力angular 找到js拖拽过来 npm下载 1 引入 2 在要控制的标签上写上ng app 3 写controller 告诉angular哪部分dom结构有哪个controll
  • 用户体验与界面设计:常见的UI设计模式

    http www yixieshi com ucd 10761 html 交互设计师在设计线框图原型时 熟知常见的web设计模式很有帮助 做到 心中有数 才能创造出符合需求 用户易学易用的界面来 所谓 没有必要重复发明轮子 模式往往容易解决
  • 世界上最令人看起来感觉舒适的10种颜色

    世界上最令人感觉舒适的10种颜色 前端调色再也不怕找不到色码了 如果有打开微信 或者QQ 的话 按下Alt A键 或Ctrl Alt A键 鼠标放到色块上就能看到RGB了
  • python print()拼接打印内容包含空格,去除空格的方法

    python输出内容为拼接 或字符串中带有空格 想打印时候去掉所有空格 i 1 while i lt 4 print i end i 1 输出内容为 1 2 3 4 数字的前后都带有空格 可以使用 sep print i sep end 输
  • 路由器常见配置和解决方案

    示列1 分析 由于Windows系统的网关没有配置 如果配置好了再次ping不通的话 可能是由于DNS没有配置 转载于 https www cnblogs com l75790 p 11022632 html
  • rdb map出錯rbd sysfs write failed

    創建了一個rbd鏡像 rbd create size 4096 docker test 然後 在Ceph client端將該rbd鏡像映射為本地設備時出錯 rbd map docker test name client admin rbd
  • 微信小程序<open-data type=“userAvatarUrl“>真机无法获取头像问题/解决办法

    今天在做小程序的时候使用open data type userAvatarUrl 标签发现在本地开发的时候可以获取本人的头像 但是在真机上就无法显示解决办法 我们要换一种思路去处理 使用官方提供的方法 官网文档链接 wxml
  • 模块功能耗时长排查

    模块功能耗时长排查 1 场景介绍1 1 1 原有场景 OA服务 发送代办 代办推送到OA代办中心 OA代办中心 推送到 总部统一代办中心 我们排查请求耗时 发现 OA代办中心 推送到 总部统一代办中心的业务代码耗时非常久 1 2 原有场景总
  • Ubuntu配置NFS服务器(Linux挂载Linux)

    Ubuntu配置NFS服务器 服务器端的配置 Ubuntu安装NFS服务器端 sudo apt get install nfs kernel server 服务端查看版本 nfsstat s 在桌面上创建共享目录 mkdir share 修
  • ChatGPT提示词工程进阶教学

    ChatGPT提示词工程 1 两种大型语言模型LLM 1 1 基础大模型 base LLM 1 2 指令调优大模型 Instruction Tuned LLM 2 如何更清晰 具体地书写提示词 2 1 在提示词中使用 定界符 2 2 向模型
  • 正则表达式的贪婪与非贪婪匹配

    例 String str 地点 北京市123区456 测试测试 测试 要匹配在 地点 之后并且在 之前的内容 贪婪匹配 正则表达式一般趋向于最大长度匹配 也就是所谓的贪婪匹配 例如上面的str 使用正则 Patter p lt 地点 默认是
  • 【面试刷题】——指针存的是什么

    指针 Pointer 是一种用于存储变量或数据对象内存地址的数据类型 指针存储的是内存地址 这个内存地址指向计算机内存中的某个特定位置 这个位置存储着实际的数据 当你创建一个指针变量时 它会指向另一个变量的内存地址 从而允许你通过该指针来访
  • linux内部调用摄像头的第三方程序(命令):cheese

    linux内部调用摄像头的第三方程序 命令 cheese sudo apt get install cheese 关于cheese的使用可能会出现异常 Clutter WARNING Whoever translated default L
  • PHP实现发送邮件(附代码)

    发送邮寄功能的实现用到了PHP中的phpmailer函数包 它支持openssl和sockets 下载地址 下载后找到class phpmailer php class smtp php这两个文件 和你的代码放在一个目录 要实现发送邮件的功