目錄
使用Mailtrap整合PHP郵件
前提條件
目標
開始使用mailtrap
PHP內建的郵件發送方法
PHP郵件包
使用mailtrap测试电子邮件
总结
首頁 後端開發 php教程 聊聊Mailtrap怎麼整合PHP郵件

聊聊Mailtrap怎麼整合PHP郵件

Nov 23, 2022 pm 04:45 PM
php郵件 mailtrap

本文要為大家介紹有關整合PHP郵件的問題,PHP是當今最受歡迎的網路開發程式語言之一,公司會向使用者發送郵件,通知他們新產品,如促銷郵件或與員工溝通。以下就給大家詳細介紹怎麼在PHP中整合流行的Mailtrap平台來發送多封郵件,希望對需要的朋友有所幫助~

聊聊Mailtrap怎麼整合PHP郵件

使用Mailtrap整合PHP郵件

PHP是當今最受歡迎的網頁開發程式語言之一。公司向用戶發送郵件,通知他們新產品,如促銷郵件或與員工溝通。

在本教學中,我們來看看如何在我們的PHP中整合流行的Mailtrap平台來傳送多封郵件。 【推薦學習:PHP影片教學

前提條件

要跟著本教學,你需要具備以下條件。

  • 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 emails
mail(
    // 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      = &#39;no-reply@section.io&#39;;
// email subject
$subject = "Section&#39;s Edge as a service";
// additional headers
$headers = array(
    &#39;From&#39; => &#39;test@example.com&#39;,
    &#39;Reply-To&#39; => &#39;test2@example.com&#39;,
    &#39;X-Mailer&#39; => &#39;PHP/&#39; . phpversion()
);
//body template

$message = &#39;
<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>
&#39;;

mail($to, $subject, $message, $headers);
登入後複製

在上面的程式碼中,我們正在向一個隨機的電子郵件發送一封詢問郵件。我們已經定義了HTML主體,並新增了額外的參數,例如標題。

注意:重要的是要記住,要使用HTML主體向使用者發送電子郵件,我們必須設定我們的標題,如下圖所示。

$headers[] = &#39;MIME-Version: 1.0&#39;;
$headers[] = &#39;Content-type: text/html; charset=iso-8859-1&#39;;
登入後複製

否則,我們的郵件正文就會以HTML的形式傳遞。當我們的傳輸協定遇到錯誤的內容時,可能會出現其他問題。在這一點上,我們假設當這個特定的程式碼被運行時,我們期望它能完美無缺地運行。

然而,我們怎麼能確保我們的電子郵件被送到預定的收件者手中呢?在下一節中,讓我們用一個郵件包來傳送相同的電子郵件。這些套件將幫助我們克服mail() 方法的局限性,這種方法在檢查我們的郵件是否被送達時相當困難。

PHP郵件包

前面的電子郵件傳送方法的一個關鍵缺點是,它的特性或功能非常有限。這通常是在需要發送大量郵件時面臨的問題。

在本節中,我們將研究如何克服這些缺點,並隨後分析我們的電子郵件是否發展到了預期的收件者。

我們將討論以下軟體包。

  • PHPMailer

  • Swift Mailer

  • 梨子郵件

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

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

<?php
// Import the mailer class
use PHPMailer\PHPMailer\PHPMailer;
require_once &#39;./vendor/autoload.php&#39;;
// create a new mailing object
$mail = new PHPMailer();
// SMTP configuration

$phpmailer = new PHPMailer();
$phpmailer->isSMTP();
$phpmailer->Host = &#39;smtp.mailtrap.io&#39;;
$phpmailer->SMTPAuth = true;
$phpmailer->Port = 2525;
$phpmailer->Username = &#39;cb7xx33e1856xxx5b25xx&#39;;
$phpmailer->Password = &#39;87f63xx87d73e52xxx4xx&#39;;

$mail->setFrom(&#39;no-reply@section.io&#39;, &#39;Node.js Deployment&#39;);
$mail->addAddress(&#39;test@gmail.com&#39;, &#39;Me&#39;);
$mail->Subject = &#39;Thanks for using section.io Edge as a service!&#39;;

// Our HTML setup

$mail->isHTML(TRUE);
$mail->Body = &#39;<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>&#39;;
$mail->AltBody = &#39;Success&#39;;
// adding mailing attachment for payment plan
$mail->addAttachment(&#39;//node/paymments.pdf&#39;, &#39;payments.pdf&#39;);
// send the thank you messange
if(!$mail->send()){
    echo &#39;Your message could not be develired, try again later&#39;;
    echo &#39;Error: &#39; . $mail->ErrorInfo;
} else {
    echo &#39;Your message has been sent successfully.&#39;;
}
登入後複製

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

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

聊聊Mailtrap怎麼整合PHP郵件

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

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

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

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

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

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

<?php
require_once &#39;./vendor/autoload.php&#39;;
 try {
    // start by creating SMTP transport
    $transport = (new Swift_SmtpTransport(&#39;smtp.mailtrap.io&#39;, 2525))
        ->setUsername(&#39;xxxxxxxxx&#39;)
        ->setPassword(&#39;xxxxxxxxx&#39;);

    $swift_mailer = new Swift_Mailer($transport);

    // message creation
    $swift_message = new Swift_Message();

    $swift_message->setSubject(&#39;Hooray! You just deployed your first Node&#39;);

    swift_message->setFrom([&#39;no-reply@section.io&#39; => &#39;Saas&#39;]);
    $messswift_messageage->addTo(&#39;test@gmail.com&#39;,&#39;Test&#39;);

    // Adding email attachment
   $email_attachment = Swift_Attachment::fromPath(&#39;./section/payments.pdf&#39;);

    $swift_message->attach($email_attachment);

    // Set the plain-text part
    $swift_message->setBody(&#39;Hello John Doe, thank you for using the Section Node deployment service&#39;);
     // Set the HTML part
    $swift_message->addPart(&#39;We are glad to welcome you on board&#39;);
     // 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郵件

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

总结

在这篇文章中,我们已经广泛地讨论了PHP邮件方法的基本概念。我们已经看到了PHP内置的方法mail() 是如何限制我们发送带有测试功能的邮件的,我们已经用PHP包克服了这个问题。

作者:DebugUsery

链接:https://juejin.cn/post/7167615841398161416

以上是聊聊Mailtrap怎麼整合PHP郵件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1317
25
PHP教程
1268
29
C# 教程
1244
24
PHP實作郵件自動回覆的方法 PHP實作郵件自動回覆的方法 May 22, 2023 pm 08:21 PM

PHP是一種流行的伺服器端腳本語言,它可以用於實現各種不同類型的應用程序,其中包括郵件自動回覆。郵件自動回覆是一種非常有用的功能,可以用於自動回覆一系列電子郵件,從而節省時間和精力。在本文中,我將介紹如何使用PHP實現郵件自動回覆。第一步:安裝PHP和web伺服器在開始實作郵件自動回覆之前,必須先安裝PHP和web伺服器。對大多數人來說,Apache是​​最常

如何使用PHP實作透過郵件找回密碼 如何使用PHP實作透過郵件找回密碼 Jun 27, 2023 pm 03:54 PM

隨著網路的普及,各種網站和應用程式頻頻問世,我們經常需要註冊帳號,但是我們經常會忘記密碼。當這時候,我們就需要找回密碼。找回密碼最常見的方式就是透過我們註冊時提供的電子郵件信箱。接下來,我們將會介紹如何使用PHP實作透過郵件找回密碼。首先,我們需要準備好郵件伺服器的設定訊息,這些資訊包括SMTP伺服器和郵件信箱帳號密碼等。 SMTP伺服器是發送郵件時使用的伺服器地

聊聊Mailtrap怎麼整合PHP郵件 聊聊Mailtrap怎麼整合PHP郵件 Nov 23, 2022 pm 04:45 PM

本文為大家介紹有關整合PHP郵件的問題,PHP是當今最受歡迎的網頁開發程式語言之一,公司會向使用者發送郵件,通知他們新產品,如促銷郵件或與員工溝通。以下就給大家詳細介紹怎麼在PHP中整合流行的Mailtrap平台來發送多封郵件,希望對需要的朋友有所幫助~

PHP實作系統郵件盒功能的詳細步驟 PHP實作系統郵件盒功能的詳細步驟 May 23, 2023 am 08:40 AM

隨著網路的不斷發展,電子郵件已成為人們日常生活不可或缺的一部分。郵件盒子是一種常見的郵件管理工具,它可以幫助我們輕鬆管理收件匣、已發送和垃圾郵件等。本文將詳細介紹如何使用PHP實作系統郵件盒功能。一、建立資料庫表格首先,我們需要在資料庫中建立一個名為"emails"的表格,用來儲存郵件相關的資訊。可以使用下列SQL語句進行建立:CREATETABL

如何使用PHP實作發送郵件的功能 如何使用PHP實作發送郵件的功能 Mar 24, 2023 pm 02:28 PM

隨著網路的發展,郵件已經成為人們生活和工作中不可或缺的一部分。在網路開發中,發送郵件是一個非常重要的功能,無論是在網站註冊、忘記密碼、訂單確認、使用者回饋等方面,發送電子郵件都扮演著至關重要的角色。而在PHP中,實作發送郵件非常簡單。在本文中,我們將介紹如何使用PHP來實現發送郵件的功能。

如何在PHP編程中使用郵件發送? 如何在PHP編程中使用郵件發送? Jun 12, 2023 am 10:48 AM

隨著網路的日益普及,電子郵件作為一種重要的通訊工具也越來越受人們的青睞。在網路應用程式開發中,使用郵件發送功能能夠提供使用者快速、便利的訊息推播服務。而針對PHP程式而言,如何使用郵件發送是必須掌握的技能。本文將就如何在PHP編程中使用郵件發送進行詳細闡述。一、準備工作使用PHP進行郵件傳送,需要藉助SMTP伺服器,因此在使用前需要確保已經有SMTP服

使用PHP和XML來產生和發送電子郵件 使用PHP和XML來產生和發送電子郵件 Jul 28, 2023 pm 12:53 PM

使用PHP和XML來產生和發送電子郵件在現代社會中,電子郵件已成為人們日常溝通和傳遞訊息的重要手段之一。在開發網站或應用程式時,經常需要透過程式碼產生和發送電子郵件。本文將介紹如何使用PHP和XML來實現此功能。 PHP是一種流行的伺服器端腳本語言,廣泛應用於Web開發領域。它具有處理表單資料、資料庫操作以及發送電子郵件等強大功能。而XML(可擴充標記語言)

高級PHP電子郵件:自定義標題和功能 高級PHP電子郵件:自定義標題和功能 May 09, 2025 am 12:13 AM

CustomHeadersheadersandAdvancedFeaturesInphpeMailenHanceFunctionalityAndreliability.1)CustomHeadersheadersheadersaddmetadatatatatataatafortrackingandCategorization.2)htmlemailsallowformattingandttinganditive.3)attachmentscanmentscanmentscanbesmentscanbestmentscanbesentscanbesentingslibrarieslibrarieslibrariesliblarikelikephpmailer.4)smtppapapairatienticationaltication enterticationallimpr

See all articles