将电子邮件收件人添加到 PHP 脚本中


add e-mail recipient into php script

CC或转发无法在邮件服务器上设置为Joomla本身发送的授权邮件,但我们希望存储这些电子邮件。问题是:如何在特定插件的php中设置它?(插件正在发送这些电子邮件)法典:

        // send auth email to user who signed ...
    if ($signature_verification = (int)$this->settings->get('security.signature_verification', 0)) {
        // unpublished, visitor must verify it first
        $this->db->set('published', 0);
        $config = JFactory::getConfig();
        $from = $config->get('mailfrom', '');
        $fromname = $config->get('fromname', '');
        $recipient = (string)$this->db->get('email', '');

当我替换最后一行 wth: $recipient = ('my@email.com') 时,我会收到该消息,但我想要一个用于访问者并为我复制的消息。感谢您的建议


好的,实际上这段代码启动了该邮件的发送:

                if (
                $this->sendMail(
                    $from,
                    $fromname,
                    $recipient,
                    $subject,
                    $body
                ) !== true
            ) {
                throw new phpmailerException(JText::_('PLG_CONTENT_CDPETITIONS_EMAIL_SEND_FAILED'), 500);
            }

当我复制该代码,将其粘贴到下面,并用我的电子邮件替换$recipient时,它有效:我在两个地址上传递了相同的消息。但是我需要它像CC(抄送)一样,并在邮件标题中具有原始收件人地址,并将其交付给我。

使用Joomla的内置邮件程序方法:

$msg = "This is my email message.";
$subject = "Database Update Email";
$to = (string)$this->db->get('email');
$config = JFactory::getConfig();
$fromemail = $config->get('mailfrom');
$fromname = $config->get('fromname');
$from = array($fromemail,$fromname);
$mailer = JFactory::getMailer();
$mailer->setSender($from);
$mailer->addRecipient($to);
$mailer->addRecipient('you1@yourdomain.com');
$mailer->addRecipient('you2@yourdomain.com');
$mailer->addCC('you3@yourdomain.com');
$mailer->addBCC('you4@yourdomain.com');
$mailer->setSubject($subject);
$mailer->setBody($msg);
$mailer->isHTML();
$mailer->send();

这应该使用 PHP 将 HTML 电子邮件发送给您想要的任何人,并通过直接发送、抄送或密件抄送复制电子邮件中的其他用户,具体取决于您使用的方法。