我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Mailtrap如何整合PHP邮件

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Mailtrap如何整合PHP邮件

这篇“Mailtrap如何整合PHP邮件”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Mailtrap如何整合PHP邮件”文章吧。

使用Mailtrap整合PHP邮件

PHP是当今最流行的网络开发编程语言之一。公司向用户发送邮件,通知他们新产品,如促销邮件或与员工沟通。

在本教程中,我们看看如何在我们的PHP中集成流行的Mailtrap平台来发送多封邮件。

前提条件

要跟随本教程,你需要具备以下条件。

  • PHP的基本概念,最好是PHP8.0。

  • 简单邮件传输协议(SMTP)的基本概念。

  • 一个mailtrap账户。

目标

在本教程结束时,你应该能够将Mailtrap集成到你的PHP应用程序中,以测试电子邮件。

开始使用mailtrap

开发广泛的应用程序有很多要求。这包括要求测试你的应用程序,以确保一切按计划进行。这些应用的关键要求之一,如Edge as a service,是测试邮件功能的能力。

科的客户经常利用Edge作为服务的好处,他们有一个灵活的付款计划。为了提醒这些客户的下一个到期日,我们需要向他们发送电子邮件。

发送电子邮件的一个关键挑战是,我们不确定我们的电子邮件是否被交付。为了确保电子邮件被送达,我们需要在开发和阶段性水平上测试我们的电子邮件,以确保它们在生产中运行良好。

现在,Mailtrap随着应用程序开发过程的开发和暂存阶段的到来而出现。它被用来测试电子邮件,以确保它们被送到预定的收件人手中。在下一节中,我们将深入了解PHP的邮件发送方法,它们是如何工作的,以及它们可能面临的问题。

PHP内置的邮件发送方法

在PHP中,我们有2种不同的方法来给我们的系统用户发送邮件。

这些方法是。

  • 通过使用PHP包,我们将在下一节看到。

  • 使用内置的方法。

在这一节中,我们将使用PHP的mail() 方法来给我们的用户发送邮件。然后,我们将继续检查这些邮件是否被送达或失败。

mail() 的一般结构如下所示。

// the mail method in PHP for sending emailsmail(    // recipient email    string $to,    // the email subject    string $subject,    // the email body    string $message,    //any other additional settings    array|string $additional_headers = [],    string $additional_params = ""): bool

上述方法接收了多个参数,描述如下。

$to :这个参数指的是电子邮件的收件人。这可以是这样的: 。test@section.io

$subject:这指的是电子邮件的主题,你必须确保它符合RFC 2047 - MIME(多用途互联网邮件扩展)。

$message:这是你的邮件正文。我们需要确保每一行都用CRLF(\r\n)分隔。行数不应大于70个字符,否则邮件将不会被发送。

$additional_headers (optional)- 这是一个数组参数,确保我们可以在邮件标题中添加额外的信息。这可能包括CC ,BCC 等。

现在我们了解了PHP的mail() 方法的基本功能,让我们继续向一些随机的电子邮件发送一封样本邮件。

<?php// sending to$to      = 'no-reply@section.io';// email subject$subject = "Section's Edge as a service";// additional headers$headers = array(    'From' => 'test@example.com',    'Reply-To' => 'test2@example.com',    'X-Mailer' => 'PHP/' . phpversion());//body template$message = '<html><head>  <title>Node.js Deployment</title></head><body>  <p>I have a few requests:</p>  <ol>    <li>How much is the cost?</li>    <li>What is the whole procedure of delpoyment</li>    <li>How are my appplications distributed?</li>    <li>How flexible is the payment plans?</li>  </ol></body></html>';mail($to, $subject, $message, $headers);

在上面的代码中,我们正在向一个随机的电子邮件发送一封询问邮件。我们已经定义了HTML主体,并添加了额外的参数,如标题。

注意:重要的是要记住,要使用HTML主体向用户发送电子邮件,我们必须设置我们的标题,如下图所示。

$headers[] = 'MIME-Version: 1.0';$headers[] = 'Content-type: text/html; charset=iso-8859-1';

否则,我们的邮件正文就会以HTML的形式传递。当我们的传输协议遇到错误的内容时,可能会出现其他问题。在这一点上,我们假设当这个特定的代码被运行时,我们期望它能完美无缺地运行。

然而,我们怎样才能确保我们的电子邮件被送到预定的收件人手中呢?在下一节中,让我们用一个邮件包来发送同样的电子邮件。这些包将帮助我们克服mail() 方法的局限性,这种方法在检查我们的邮件是否被送达时相当困难。

PHP邮件包

前面的电子邮件发送方法的一个关键缺点是,它的特点或功能非常有限。这通常是在需要发送大量邮件时面临的问题。

在本节中,我们将研究如何克服这些缺点,并随后分析我们的电子邮件是否发展到了预期的收件人。

我们将讨论以下软件包。

  • PHPMailer

  • Swift Mailer

  • 梨子邮件

让我们继续,先从PHPMailer :PHPMailer是我们上面列出的所有包中最流行的用PHP发送邮件的包之一。

创建一个PHP文件mail.php ,并添加以下代码片段。

<?php// Import the mailer classuse PHPMailer\PHPMailer\PHPMailer;require_once './vendor/autoload.php';// create a new mailing object$mail = new PHPMailer();// SMTP configuration$phpmailer = new PHPMailer();$phpmailer->isSMTP();$phpmailer->Host = 'smtp.mailtrap.io';$phpmailer->SMTPAuth = true;$phpmailer->Port = 2525;$phpmailer->Username = 'cb7xx33e1856xxx5b25xx';$phpmailer->Password = '87f63xx87d73e52xxx4xx';$mail->setFrom('no-reply@section.io', 'Node.js Deployment');$mail->addAddress('test@gmail.com', 'Me');$mail->Subject = 'Thanks for using section.io Edge as a service!';// Our HTML setup$mail->isHTML(TRUE);$mail->Body = '<html>Hello johndoe, thank you for using our Node.js deployment and distribution platform. Kinldy check the document in the attachment below to review your payments plan.</html>';$mail->AltBody = 'Success';// adding mailing attachment for payment plan$mail->addAttachment('//node/paymments.pdf', 'payments.pdf');// send the thank you messangeif(!$mail->send()){    echo 'Your message could not be develired, try again later';    echo 'Error: ' . $mail->ErrorInfo;} else {    echo 'Your message has been sent successfully.';}

在上面的代码中,我们已经安装了PHPMailer包。我们还创建了这个类的一个新实例,$mail 。接下来,我们已经创建了我们的Mailtrap账户,并在这里抓取了凭证。

当你创建一个项目时,确保你将其与PHPMailer 选项集成,如下面的截图所示。

Mailtrap如何整合PHP邮件

你会注意到,我们的截图省略了用户名和密码。这些是自动生成的,对每个用户都是不同的。

接下来,我们设置了我们的setFrom() 方法来接收发件人的电子邮件和电子邮件标题。然后,我们继续配置收件人的电子邮件地址和电子邮件的主题。

注意:之前,我们曾表示,我们可以将正文添加为HTML,然后适当地设置我们的内容类型。

在上面的邮件正文中,我们将信息定义为HTML,以便我们能够定制邮件,满足我们的要求。然后我们添加替代标签,再最后添加一个附件。然后,我们使用PHPMailer的$mail->send() 方法来发送我们的邮件。我们加入了if 语句来检查我们的邮件是否已经发送。

当我们的邮件未能送达时,我们通过打印一个警告信息来通知用户,否则就打印一个成功信息。让我们继续使用SwiftMailer ,实现同样的功能,如下所示。

在你的服务器上创建一个新的文件swift.php ,并添加以下代码片段。

<?phprequire_once './vendor/autoload.php'; try {    // start by creating SMTP transport    $transport = (new Swift_SmtpTransport('smtp.mailtrap.io', 2525))        ->setUsername('xxxxxxxxx')        ->setPassword('xxxxxxxxx');    $swift_mailer = new Swift_Mailer($transport);    // message creation    $swift_message = new Swift_Message();    $swift_message->setSubject('Hooray! You just deployed your first Node');    swift_message->setFrom(['no-reply@section.io' => 'Saas']);    $messswift_messageage->addTo('test@gmail.com','Test');    // Adding email attachment   $email_attachment = Swift_Attachment::fromPath('./section/payments.pdf');    $swift_message->attach($email_attachment);    // Set the plain-text part    $swift_message->setBody('Hello John Doe, thank you for using the Section Node deployment service');     // Set the HTML part    $swift_message->addPart('We are glad to welcome you on board');     // Send the message    $res = swift_mailer->send($message);} catch (Exception $e) {  echo $e->getMessage();}

就像PHPMailer一样,我们首先安装这个包,并使用./vendor/autoload.php 路径导入它。还需要注意的是,根据你的系统设置,这个路径可能与你的应用程序路径不同。

接下来,我们将传输设置为使用我们Mailtrap的Swift_SmtpTransport 。拿起你的凭证,按照上面的代码设置。按照前面的步骤来配置你的应用程序,使其使用Mailtrap包来发送邮件。

现在,我们如何知道我们的邮件已经被送达?这就是我们使用Mailrap的原因。与PHPmail() 方法相比,该软件包允许我们配置我们的应用程序使用mailtrap,这给我们提供了一个平台来测试我们的应用程序,正如下一节所讨论的。

使用mailtrap测试电子邮件

登录你的Mailtrap账户,进入你的收件箱部分,如以下截图所示。

Mailtrap如何整合PHP邮件

接下来,点击项目名称,展开你所发送的邮件。

Mailtrap如何整合PHP邮件

注意:为了安全起见,上述截图上的一些功能已被跳过。

以上就是关于“Mailtrap如何整合PHP邮件”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Mailtrap如何整合PHP邮件

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Mailtrap如何整合PHP邮件

这篇“Mailtrap如何整合PHP邮件”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Mailtrap如何整合PHP邮件”文
2023-07-04

springboot如何整合邮件发送功能

这篇文章给大家介绍springboot如何整合邮件发送功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 pom依赖 org.springframework.bo
2023-06-22

SpringBoot中如何整合定时任务和邮件任务

这篇文章主要讲解了“SpringBoot中如何整合定时任务和邮件任务”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SpringBoot中如何整合定时任务和邮件任务”吧!定时任务项目开发中经常
2023-06-08

JavaMail整合Spring实现邮件发送功能

这篇文章主要为大家详细介绍了JavaMail整合Spring实现邮件发送功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
2022-11-13

tomcat插件与Jrebel插件如何整合

这篇文章将为大家详细讲解有关tomcat插件与Jrebel插件如何整合,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。工欲善其事必先利其器tomcat插件是没装myeclipse插件必备的,它减少了部署工程
2023-06-17

php如何禁止smtp邮件功能

今天小编给大家分享一下php如何禁止smtp邮件功能的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。禁用SMTP支持PHP M
2023-07-05

SpringBoot整合Javamail实现邮件发送的详细过程

日常开发过程中,我们经常需要使用到邮件发送任务,比方说验证码的发送、日常信息的通知等,下面这篇文章主要给大家介绍了关于SpringBoot整合Javamail实现邮件发送的详细过程,需要的朋友可以参考下
2022-11-13

邮箱如何群 发邮件

邮箱如何群 发邮件?每个电子邮箱所能发送邮件的多少根据系统的分配有所不同,主要影响因素有两个:邮箱套餐配置、邮箱地址信誉。1、邮箱套餐配置:对于电子邮箱大致可分为免费邮箱与付费邮箱两大类,付费邮箱的邮件发送量会高于免费邮箱,通常免费邮箱的单
2023-06-05

如何使用springboot整合redis实现发送邮箱并验证

这篇文章主要为大家展示了“如何使用springboot整合redis实现发送邮箱并验证”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用springboot整合redis实现发送邮箱并验证”
2023-06-22

TP如何配合phpmailer实现发邮件功能

本篇内容主要讲解“TP如何配合phpmailer实现发邮件功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“TP如何配合phpmailer实现发邮件功能”吧!TP配合phpmailer发邮件功能
2023-06-25

如何使用 PHP 发送电子邮件?

在 php 中使用 swift mailer 发送电子邮件,需要安装 swift mailer、配置 smtp 服务器、创建邮件消息、创建邮件发送器,最后发送邮件。具体步骤包括:安装 swift mailer;配置 smtp 服务器;创建邮
如何使用 PHP 发送电子邮件?
2024-04-20

如何使用 PHP 发送电子邮件?

在 php 中使用 swift mailer 发送电子邮件,需要安装 swift mailer、配置 smtp 服务器、创建邮件消息、创建邮件发送器,最后发送邮件。具体步骤包括:安装 swift mailer;配置 smtp 服务器;创建邮
如何使用 PHP 发送电子邮件?
2024-04-20

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录