【问题标题】:PHPMAILER Sending Email in attached filePHPMAILER 在附件中发送电子邮件
【发布时间】:2016-07-05 06:05:12
【问题描述】:
<?php    
include('phpmailer.php');
class Mail extends PhpMailer
{
    // Set default variables for all new objects
    public $From     = 'noreply@domain.com';
    public $FromName = SITETITLE;
    public $Host     = 'smtp.gmail.com';
    public $Mailer   = 'isSMTP';
    public $SMTPAuth = true;
    public $Username = 'email@gmail.com';
    public $Password = 'password';
    public $SMTPSecure = 'ssl';
    public $WordWrap = 75;

    public function subject($subject)
    {
        $this->Subject = $subject;
    }

    public function body($body)
    {
        $this->Body = $body;
    }

    public function send()
    {
        $this->AltBody = strip_tags(stripslashes($this->Body))."\n\n";
        $this->AltBody = str_replace("&nbsp;", "\n\n", $this->AltBody);
        return parent::send();
    }
}

我正在将此代码用于 Email.php 文件,它可以工作,但它以附件而不是正常形式发送邮件... Email Attachment Showing in Email

Email Attachment Output

这是我用于验证目的的链接。

http://monthlyreport.ultimatefreehost.in

在 index.php 我使用的是这样的

 //send email
            $to = $_POST['email'];
            $subject = "Registration Confirmation";
            $body = "<p>Thank you for registering at demo site.</p>
            <p>To activate your account, please click on this link: <a href='".DIR."activate.php?x=$id&y=$activasion'>".DIR."activate.php?x=$id&y=$activasion</a></p>
            <p>Regards Site Admin</p>";

            $mail = new Mail();
            $mail->setFrom(SITEEMAIL);
            $mail->addAddress($to);
            $mail->subject($subject);
            $mail->body($body);
            $mail->send();

            //redirect to index page
            header('Location: index.php?action=joined');
            exit;

【问题讨论】:

  • 你所说的“范式”是什么意思?你没有调用 addAttachment(),所以你不会有任何附件。
  • 好像邮件来了,但它是在附件中来的
  • @Synchro,先生,你能告诉我什么是问题!!!
  • 您使用的是最新的 PHPMailer 吗?看起来您的代码基于一个过时的示例。
  • @Synchro 先生,我已经检查过它的版本是 5.2.7

标签: php html phpmailer html-email


【解决方案1】:

你的函数应该返回值。

body() 的末尾使用return $this-&gt;Body = $body;,其他函数也同样如此。

【讨论】:

  • 先生,我现在试过了,现在它的 HTTP500 错误...请检查并提出其他建议
  • 尝试直接传递值,例如 $mail->Subject = "$subject";和 $mail->Body = "$body";
  • 这是我见过的最接近迷信代码的东西!只是错了,一事无成。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-10-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-23
  • 1970-01-01
相关资源
最近更新 更多