gpt4 book ai didi

php - Mandrill SMTP HTML 模板电子邮件发送

转载 作者:行者123 更新时间:2023-11-30 00:33:27 25 4
gpt4 key购买 nike

我正在使用 PHP

我正在创建一个邮件应用程序,它使用 mandrill SMTP 发送电子邮件。该应用程序将允许用户选择自定义设计的电子邮件模板,这些模板作为 tbl_template 中的纯 html 代码存储在数据库中。

我编写了一段代码,用于查询数据库并获取所有模板并将它们存储在 html 标记中供用户选择一个。

我面临两个问题,其中之一是整个 Html 代码在所有选项标记中都可见。当我不确定如何存储选项 value=""属性(存储所有模板 html 代码)并将其保存到 $_SESSION 或能够使用该值内容作为电子邮件的一部分时,第二个问题。

load_template.php:

function LoadTemplate(){

define('DB_HOST', "localhost");
define('DB_USER', "root");
define('DB_PASSWORD', "root");
define('DB_NAME', "db_mailer");
$con = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME) or die ("Cnnection Error".mysqli_error($con));

$sql = "SELECT id, temp_name, temp_structure FROM tbl_template";
$query = mysqli_query($con, $sql);
$option='<select name="template">';
$option.='<option name="temp">Select Template</option>';
$option.='';
while($result = mysqli_fetch_assoc($query)){
$option.='<option id="'.$result['id'].'" value="'.$result['temp_structure'].'">'.$result['temp_name'].'</option>';

}
$option.='</select>';

return $option; }

index.php:

Your email:

<p>Your Name:<br>
<input type="text" id="from_name" name="from_name" placeholder="Please type in your email..."></p>

<p>Send To Email:<br>
<input type="email" id="to_email" name="to_email" placeholder="Please type in the client email..."></p>

<p>Send To name:<br>
<input type="text" id="to_name" name="to_name" placeholder="Please type in the client email..."></p>

<p>Subject:<br>
<input type="text" id="subject" name="subject" placeholder="Wright something nice..."></p>

<?php require('load_temp.php'); echo LoadTemplate(); ?>

<p><textarea rows="5" cols="5"></textarea></p>
<input type="submit" value="Send" name='submit'>

mandrill SMTP 文件的 mail.php 部分,我只需配置:

> <?php /**  * Created by PhpStorm.  * User: MDuarte  * Date: 11/03/2014
> * Time: 10:28 */ $data=Array();
>
> $data['from_email']= $_POST['from_email']; $data['from_name']=
> $_POST['from_email']; $data['to_email']= $_POST['to_email'];
> $data['to_name']= $_POST['to_name']; $data['subject'] =
> $_POST['subject']; $data['content'] = $_POST['template'];
> $data['temp'] = $_POST['template'];
>
> require_once "Mandrill.php";
>
> try {
> $mandrill = new Mandrill('API_KEY');
> $message = array(
> 'html' => $data['temp'],
> 'text' => 'Example text content',
> 'subject' => $data['subject'],
> 'from_email' => $data['from_email'],
> 'from_name' => $data['from_name'],
> 'to' => array(
> array(
> 'email' => $data['to_email'],
> 'name' => $data['to_name'],
> 'type' => 'to'
> )
> ),
>
> } catch(Mandrill_Error $e) {
> // Mandrill errors are thrown as exceptions
> echo 'A mandrill error occurred: ' . get_class($e) . ' - ' . $e->getMessage();
> // A mandrill error occurred: Mandrill_Unknown_Subaccount - No subaccount exists with the id >'customer-123'
> throw $e; }

现在发送的电子邮件包含所有内容,但不包含 html 模板,我正在尝试在 mail.php 中添加 html 模板

'html' => $data['temp'],

最佳答案

通过任何邮件发送 html 代码时。它将它们转换为 html 真实标签。

所以,

使用urlencode(您的HTML内容)添加html模板

看看http://php.net/manual/en/function.urlencode.php

希望这有帮助。

关于php - Mandrill SMTP HTML 模板电子邮件发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22357374/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com