PHPMailer:附加位于服务器上的文件

时间:2014-03-10 01:35:55

标签: php attachment phpmailer

我正在尝试使用PHPMailer发送(最多4个)附件。这些文件在我的服务器上。

这就是我的脚本的工作原理:

用户查看工作或简历并使用联系表单与他们联系。联系表单将数据与服务器上的附件一起存储。然后,我们将审核过滤掉垃圾邮件/诈骗的邮件。如果消息是真实的,那么我们将通过发送消息。

我将信息存储在服务器上,我可以通过电子邮件发送该信息,但附件没有发送。

以下是用于发送邮件的代码:

if ($_GET['status'] == 'approve') {

    $id = $_GET['id'];

    dbconnect($dbuser, $dbpass, $db);

    $sql = "SELECT * FROM $db.mail WHERE id = $id";
    $results=mysql_query($sql) or die(mysql_error());

    while($row = mysql_fetch_array($results, MYSQL_ASSOC)) {

    $id         = $row["id"];
    $to         = $row["to"];
    $from       = $row["from"];
    $subject    = $row["subject"];
    $message    = $row["message"];
    $file1      = $row["file1"];
    $file2      = $row["file2"];
    $file3      = $row["file3"];
    $file4      = $row["file4"];


    $result = mysql_query("UPDATE mail SET `status` =  '1', `approvedtime` =  NOW() WHERE id = " . $_GET['id'])
        or die(mysql_error());
        header("Location: mail.php");

        // PHPMailer - Start
        $email = new PHPMailer();
        $email->setLanguage('ja');
        $email->From      = $from;
        $email->FromName  = 'MySite.com';
        $email->Subject   = $subject;
        $email->Body      = $message;
        $email->addAddress($to);


        if (!empty($file1)) {
            $file1 = 'upload/'.$file1;
            $email->AddAttachment($file1);
        }
        if (!empty($file2)) {
            $file2 = 'upload/'.$file2;
            $email->AddAttachment($file2);
        }
        if (!empty($file3)) {
            $file3 = 'upload/'.$file3;
            $email->AddAttachment($file3);
        }
        if (!empty($file4)) {
            $file4 = 'upload/'.$file4;
            $email->AddAttachment($file4);
        }


        return $email->Send();
        // PHPMailer - Start
    }

} elseif ($_GET['status'] == 'reject') {

    dbconnect($dbuser, $dbpass, $db);
    $result = mysql_query("UPDATE mail SET `status` =  '2', `approvedtime` =  NOW() WHERE id = " . $_GET['id'])
        or die(mysql_error());
        header("Location: mail.php");
    }

为什么附件没有发送?我错过了代码中的一个步骤或者有不正确的内容吗?

感谢您的帮助!

0 个答案:

没有答案