聊聊Mailtrap怎麼整合PHP郵件
本文要為大家介紹有關整合PHP郵件的問題,PHP是當今最受歡迎的網路開發程式語言之一,公司會向使用者發送郵件,通知他們新產品,如促銷郵件或與員工溝通。以下就給大家詳細介紹怎麼在PHP中整合流行的Mailtrap平台來發送多封郵件,希望對需要的朋友有所幫助~
使用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 = '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 class use 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 messange if(!$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 选项集成,如下面的截图所示。
你会注意到,我们的截图省略了用户名和密码。这些是自动生成的,对每个用户都是不同的。
接下来,我们设置了我们的setFrom() 方法来接收发件人的电子邮件和电子邮件标题。然后,我们继续配置收件人的电子邮件地址和电子邮件的主题。
注意:之前,我们曾表示,我们可以将正文添加为HTML,然后适当地设置我们的内容类型。
在上面的邮件正文中,我们将信息定义为HTML,以便我们能够定制邮件,满足我们的要求。然后我们添加替代标签,再最后添加一个附件。然后,我们使用PHPMailer的$mail->send() 方法来发送我们的邮件。我们加入了if 语句来检查我们的邮件是否已经发送。
当我们的邮件未能送达时,我们通过打印一个警告信息来通知用户,否则就打印一个成功信息。让我们继续使用SwiftMailer ,实现同样的功能,如下所示。
在你的服务器上创建一个新的文件swift.php ,并添加以下代码片段。
<?php require_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账户,进入你的收件箱部分,如以下截图所示。
接下来,点击项目名称,展开你所发送的邮件。
注意:为了安全起见,上述截图上的一些功能已被跳过。
总结
在这篇文章中,我们已经广泛地讨论了PHP邮件方法的基本概念。我们已经看到了PHP内置的方法mail() 是如何限制我们发送带有测试功能的邮件的,我们已经用PHP包克服了这个问题。
作者:DebugUsery
链接:https://juejin.cn/post/7167615841398161416
以上是聊聊Mailtrap怎麼整合PHP郵件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

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

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

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

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

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

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

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

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