-1

自分のドメインで Web ページを作成しました。すべての訪問者がこのページを電子メールで送信できるようにしたいと考えています。

このページには、画像、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 に答える