-1

我在我的域上创建了一个网页,我希望允许任何访问者通过电子邮件将此页面发送给任何人。

页面有图片、css和php代码。它从我的网站获得前 5 条新闻。

我正在尝试使用这个类:

<?php
include_once("../DataAccess.php");
class sendmail
{
    /**
     * @var from mail.
     */
    public $from = "kam@yahoo.com";

    /**
     * @var from name.
     */
    public $fromName = " Mail List";

    /**
     * @var to mail.
     */
    public $to  = 'eng.k@gmail.com'; // note the comma , if you want multiple recipients

    /**
     * @var to name.
     */
    public $name = 'Khaled';

    /**
     * @var subject.
     */
    public $subject = 'Hello World !!';

    /**
     * @var message.
     */
    public $message = 'Thank you, your message has been received We will reply you as soon eng@gmail.com';

    /**
     * @var newlines.
     */
    private $RN = "\r\n";

    /**
     * @var message charset.
     */
    public $charset = 'utf-8';

    /**
     * Sends an email.
     *
     * @author Yousef Ismaeil.
     */
    public function mail_to ()
    {

        $mail = &$this;

        // To send HTML mail, the Content-type header must be set
        $headers  = 'MIME-Version: 1.0'.$mail->RN;
        $headers .= 'Content-type: text/html; charset='.$mail->charset.''.$mail->RN;
        // Additional headers
        $headers .= 'To: '.$mail->name.' <'.$mail->to.'>'.$mail->RN;
        $headers .= 'From: '.$mail->fromName.' <'.$mail->from.'>'.$mail->RN;
        $headers .= 'Return-Path: '.$mail->from.'\r\n';
        $headers .= "X-Priority: 1\r\n";
        $headers .= "X-MSMail-Priority: High\r\n";



        if (@mail($mail->to, $mail->subject, $mail->message, $headers))
        {
            return true;
        }
        else
        {
            return false;
        }

    }

}

$date1=date('Y-m-d');
$send_mail = new sendmail();
$send_mail->from     = "zizo@yahoo.com";
$send_mail->fromName = "Zamalkawy Ana";
$send_mail->to       = "kam@ar.com";
$send_mail->name     = "Khlaed";
$send_mail->subject  = "Zamalkawy Ana Sports news for ".$date1;
$homepage = file_get_contents('http://zamalkawyana.com/MailList/home.php');
$send_mail->message  = $homepage;
if ($send_mail->mail_to()) echo 'Msg sent';
else echo 'Can\'t send msg.'; 

?>

...但是当我发送它时,我只得到新闻的标题和图片,而看不到页面的模板。

我怎样才能做到这一点?

4

2 回答 2

1

不清楚上面的解释中 $homepage 包含什么。它可能是您页面的 html 标记。但是,如果您真的想发送内容,则值得怀疑。

通常做的不是发送实际的 html 内容,而是一个指向页面的链接(url)。由于无论如何都可以通过互联网上的 url 访问您的页面,因此这是一个简单的步骤。

这有一些优点:

  1. 消息变得更小,因为它只有几行文本加上链接。它将访问页面或不访问页面的决定留给接收者。

  2. 该消息可以在任何电子邮件客户端中显示,而不会出现 html 消息所存在的巨大安全问题。因此,对收件人更公平,因为您不必为了打开来自您的消息而要求任何收件人的最终信任。

  3. 您可以写几行关于此消息实际包含的内容、发送原因等。它更友好,因为它更透明。

于 2012-11-17T11:05:02.737 回答
0

添加到标题: $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";

您可以将 html 代码放在消息正文中(作为字符串)。

也看看这个链接

于 2012-11-17T11:01:06.900 回答