用php和html发送邮件

时间:2017-04-14 13:13:54

标签: php html email post iframe

我使用phpmailer发送正常的预定义邮件,它运行正常。 现在我想要做的是,连接我的texteditor与PHP脚本,以便我可以发送非常好的HTML邮件。 Texteditor是CKEditor的模板。 enter image description here

我在textedtior中写的所有东西都是用这样的html标签写的 enter image description here

然后我从phpmailer我的php脚本发送邮件。我一直在考虑将所有html标签作为post方法发布并在我的php脚本中获取它们。也许这不是最好的主意,即使它不知道如何用输入标签发布内容。

非常感谢任何帮助。

PS。 这是我的PHP代码

date_default_timezone_set('Etc/UTC');
require '../PHPMailerAutoload.php';
$mail = new PHPMailer;
$mail->isSMTP();
$mail->SMTPDebug = 2;
$mail->Debugoutput = 'html';
$mail->Host = 'smtp.gmail.com';
$mail->Port = 587;
$mail->SMTPSecure = 'tls';
$mail->SMTPAuth = true;
$mail->Username = "??????@gmail.com";
$mail->Password = "?????";
$mail->setFrom('????@gmail.com', 'First Last');
$mail->addReplyTo('????@gmail.com', 'First Last');
$mail->addAddress('???@gmail.com', 'John Doe');
$mail->Subject = 'PHPMailer GMail SMTP test';
$mail->msgHTML(file_get_contents('contents.html'), dirname(__FILE__));
$mail->AltBody = 'This is a plain-text message body';
$mail->addAttachment('images/phpmailer_mini.png');
if (!$mail->send()) {
    echo "Mailer Error: " . $mail->ErrorInfo;
} else {
    echo "Message sent!";
}

关于html代码..很多都是通过我用模板获得的脚本完成的

<html>
<head>
    <meta charset="utf-8">
    <title>???</title>
    <script src="../ckeditor.js"></script>
    <script src="js/sample.js"></script>
    <link rel="stylesheet" href="css/samples.css">
    <link rel="stylesheet" href="toolbarconfigurator/lib/codemirror/neo.css">
</head>
<body id="main">


<form class="newsletter-signup" form action="http://??????gmail.php" method="post">
<main>
        <div class="adjoined-top">
            <div class="grid-container">
                <div class="grid-width-100">
                    <div id="editor">
                    </div>
                </div>
            </div>
        </div>  
</main>


<input type="submit" class="btn btn-default btn-sand" value="subscribe">
</form>
<button onclick="loadPages()">Click Me</button>
<script>
    function loadPages(){
        //document.getElementsByClassName('lulul')[0].setAttribute('src', "http://??????/gmail.php");
        document.getElementsByClassName('lulul')[0].setAttribute('name',"content");
    }
</script>
<script>
    initSample();
</script>

</body>
</html>

1 个答案:

答案 0 :(得分:0)

基本上这个主要的想法是使用完整的html正文来正确查看所有html输出。这是示例

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body bgcolor="#ffffff" text="#000000">
        This is the body text<br>
<div class="moz-signature"><i><br>
<br>
The<br>
Frenks<br>
</i></div>
</body>
</html>

这将在邮件正文内容中以正确的方式执行html:

例如,如果你只是通过这个就行不通!

<b>The Frenks</b>