PHP SMTP邮件发送(可加附件)

<?php

/**
 * @param $address mixed 收件人  多个收件人/或需要设置收件人昵称时为数组 array($address1,$address1)/array(array(‘address‘=>$address1,‘nickname‘=>$nickname1),array(‘address‘=>$address2,‘nickname‘=>$nickname2))
 * @param $subject string 邮件主题
 * @param $body    string 邮件内容
 * @param  $file   string 附件
 * @return bool|string   发送成功返回true 反之返回报错信息
 * @throws Exception
 */
function send_mail_by_smtp($address, $subject, $body, $file = ‘‘)
{
  require(‘./PHPMailer-master/Exception.php‘);
  require(‘./PHPMailer-master/PHPMailer.php‘);
  require(‘./PHPMailer-master/SMTP.php‘);

  //date_default_timezone_set("Asia/Shanghai");//设定时区东八区

  $mail = new PHPMailer();

  //Server settings
  $mail->SMTPDebug = 2;
  $mail->isSMTP();                                      // 使用SMTP方式发送
  $mail->Host = ‘smtp.126.com‘;                         // SMTP邮箱域名
  $mail->SMTPAuth = true;                               // 启用SMTP验证功能
  $mail->Username = "*****@126.com";                    // 邮箱用户名(完整email地址)
  $mail->Password = "*****";                            // smtp授权码,非邮箱登录密码
  $mail->Port = 25;
  $mail->CharSet = "utf-8";                             //设置字符集编码 "GB2312"

  // 设置发件人信息,显示为  你看我那里像好人([email protected])
  $mail->setFrom($mail->Username, ‘你看我那里像好人‘);

  //设置收件人 参数1为收件人邮箱 参数2为该收件人设置的昵称  添加多个收件人 多次调用即可
  //$mail->addAddress(‘********@163.com‘, ‘你看我那里像好人‘);

  if (is_array($address)) {
    foreach ($address as $item) {
      if (is_array($item)) {
        $mail->addAddress($item[‘address‘], $item[‘nickname‘]);
      } else {
        $mail->addAddress($item);
      }
    }
  } else {
    $mail->addAddress($address, ‘adsf‘);
  }

  //设置回复人 参数1为回复人邮箱 参数2为该回复人设置的昵称
  //$mail->addReplyTo(‘*****@126.com‘, ‘Information‘);

  if ($file !== ‘‘) $mail->AddAttachment($file); // 添加附件

  $mail->isHTML(true);    //邮件正文是否为html编码 true或false
  $mail->Subject = $subject;     //邮件主题
  $mail->Body = $body;           //邮件正文 若isHTML设置成了true,则可以是完整的html字符串 如:使用file_get_contents函数读取的html文件
  //$mail->AltBody = ‘This is the body in plain text for non-HTML mail clients‘;  //附加信息,可以省略

  return $mail->Send() ? true : ‘ErrorInfo:‘ . $mail->ErrorInfo;
}

$path = ‘.\wpic907.jpg‘;
$ret = send_mail_by_smtp(‘*******@163.com‘, ‘PHPMailer邮件标题‘, ‘PHPMailer邮件内容‘, $path);

  

下载:https://pan.baidu.com/s/1IakOOvmfltodm6w_taDcQg

原文地址:https://www.cnblogs.com/cmnull/p/9687656.html

时间: 2024-08-02 22:59:36

PHP SMTP邮件发送(可加附件)的相关文章

java邮件发送(含附件)

1. [代码]java邮件发送(含附件)疯狂的IT人站长整理的:利用Java发送邮件(含附件)的例子:1.邮件发送的配置propertity文件内容如下:(utils.properties文件放在src下面)emailsmtp=smtp.qq.com[email protected]emailpass=******2.读取配置文件的类文件(ReadPropertity.java)import java.io.IOException;import java.util.Properties;publ

python学习笔记(SMTP邮件发送)

想着给框架添加邮件发送功能.所以整理下python下邮件发送功能 首先python是支持邮件的发送.内置smtp库.支持发送纯文本.HTML及添加附件的邮件 之后是邮箱.像163.qq.新浪等邮箱默认关闭SMTP服务,需要我们手动打开 打开后通过发件人邮箱.授权密码 通过发件人的SMTP服务发送 代码如下: 1 #!/usr/bin/env python 2 # -*- coding: utf_8 -*- 3 4 from email.mime.text import MIMEText 5 fr

基于javaMail的邮件发送--excel作为附件

基于JavaMail的Java邮件发送 Author [email protected] Desc 简单邮件发送 Date 2017/12/8 项目中需要根据物料资质的状况实时给用户发送邮件,然后我就简单学习了SMTP. 电子邮件的在网络中传输和网页一样需要遵从特定的协议,常用的电子邮件协议包括 SMTP,POP3,IMAP.其中邮件的创建和发送只需要用到 SMTP协议,所以本文也只会涉及到SMTP协议.SMTP 是 Simple Mail Transfer Protocol 的简称,即简单邮件

C#调用smtp邮件发送几个大坑

1.网易.新浪邮箱新增了一个叫“授权码”的东西,开通smtp服务时,必须开启授权码,并且邮件发送代码中也需要加上授权码,如下代码: //指定邮箱账号和密码,需要注意的是,这个密码是你在邮箱设置里开启服务的时候给你的那个授权码SmtpClient smtpclient = new SmtpClient(); …… NetworkCredential networkCredential = new NetworkCredential(sendEmail, sendpwd); smtpclient.C

spring boot 邮件发送(带附件)

首先开启QQ邮箱的POP.SMTP服务器,获取授权码. 设置-->账户-->POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务 pom.xml需要加载三个jar,可以在这个网站里下载:https://mvnrepository.com/ html页面 <form action="/send" method="post" enctype="multipart/form-data"> <ta

java 邮件发送多分附件

package com.sungrow.sendmail; import java.io.File; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Properties; import javax.activation.DataHandler; import javax.activation.DataSource; import javax.activation

Kettle实现邮件发送并带附件功能

概述:数据抽取项目中,要求统计的数据报表定时发送报表.在网上搜了很多,没有发现比较好的文章.特做下笔记. 实现: 1.总体作业JOB截图 流程:设置导出的Excel文件名变量,导出Excel,并将导出的Excel以附件形式发送到指定邮箱. 其实实现邮件带附件 主要是组件是: 2.邮件设置(采用的是腾讯邮箱) 2-1:地址设置 2-2:服务器设置 2-3:邮件消息设置 2-4:附件设置(对于带附加发送的,这里设置比较重要) 到这里为止,kettle发送带附件的邮件作业已经开发完毕

SMTP邮件发送命令

第一步,远程登录smtp服务器 在命令行窗口输入 telnet smtp.163.com 25 然后回车第二步,用户登录 输入 helo 163.com 回车,这是向服务器表明你的用户身份250 OK 为服务器返回的确认信息,说明服务器认可了你的身份 输入 auth login 回车,这是告诉服务器你要输入用户名了(即登录邮箱时的用户名),服务器将返回一个确认信息334 这时就可以输入用户名了,注意这里的用户名需要编码后才能识别,即如果你的用户名是 [email protected] 那么你需要

【python】smtp邮件发送

纯文本: #!/usr/bin/env python3 #coding: utf-8 import smtplib from email.mime.text import MIMEText from email.header import Header sender = '***' receiver = '***' subject = 'python email test' smtpserver = 'smtp.163.com' username = '***' password = '***'