邮件在进行电子商务、在线活动、注册验证以及其他种种场合都具有非常重要的作用。因此,邮件服务亦日益被大家重视。Mailgun是一个第三方邮件服务提供商,旨在为邮件传输和发送带来高效性和可靠性。其中,Mailgun PHP版本就是让PHP开发者更方便的使用Mailgun服务的一个API。
代码的例子很容易就能帮我们了解Mailgun PHP版本是如何工作的。例如,如果我们想要通过Mailgun向用户发送注册确认邮件,我们可以使用以下代码:
$client = new \Http\Adapter\Guzzle6\Client(); $http_Client = new \Mailgun\HttpClient\HttpClientConfigurator($client); $mailgun = new \Mailgun\Mailgun(getenv('MAILGUN_API_KEY'), $http_Client); $domain = getenv('MAILGUN_DOMAIN'); $user_email = "test@example.com"; $confirmationToken = "xxxxxxx"; $html_body = "上述代码中,我们首先初始化Mailgun库中的Mailgun类的一个实例,这个实例就是我们和Mailgun进行数据传输的代表。接下来,我们需要定义自己的邮件正文,包括邮件内容、发信人、收件人以及主题等等。使用$mailgun对象的messages()函数调用send方法,我们便能够成功地向用户发送邮件。 除了可靠的邮件传输功能,Mailgun的PHP版本还为我们提供了实用的邮件发送记录查询工具。例如,以下代码展示了如何获取某个邮件的详细发送记录:亲爱的用户:
"; $html_body .= "感谢您注册我们的网站。
"; $html_body .= "请通过以下链接激活您的账号:
"; $html_body .= ""; // Send a message to the user $mailgun->messages()->send($domain, ['html' =>$html_body, 'from' =>'noreply@example.com', 'to' =>$user_email, 'subject' =>'激活您的账号']);
$mailgun = new \Mailgun\Mailgun(getenv('MAILGUN_API_KEY')); $domain = getenv('MAILGUN_DOMAIN'); $domainStats = $mailgun->get("$domain/stats/total"); $mailgunEvents = $mailgun->events(); $mailParams = array( 'recipient' =>'test@example.com', 'limit' =>1 ); $mailgunEvents->get(null, $mailParams);当发送邮件的时候,Mailgun会记录并存储每个邮件的详细信息,包括关键事件(如发送请求、重新发送尝试、投递状态等等)。以下是邮件数据包中可能包括的信息项目:
- id - 邮件的唯一ID
- to - 邮件的收件人
- message - JSON格式的邮件信息
- timestamp - 这封邮件的投递时间
- tags - 将相关信息分类
- delivery-status - 投递状态
- envelope - 来源和目标邮件服务器等相关信息