我试图使用 joomla 邮件发送电子邮件,但它确实有效,有什么建议吗?我错过了什么?我在网上搜索过,但没有帮助。
我得到的唯一错误是500,我不明白为什么......
这是实际的代码:
<?php
//framework joomla
define( '_JEXEC', 1 );
define( 'DS', DIRECTORY_SEPARATOR );
define( 'JPATH_BASE', realpath(dirname(__FILE__) . "/../"));
require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
require_once ( JPATH_BASE .DS.'libraries'.DS.'joomla'.DS.'factory.php' );
$mainframe =& JFactory::getApplication('site');
//get vars
$session =& JFactory::getSession();
$num1 = $session->get('variable1');
$num2 = $session->get('variable2');
$val= $session->get('variable3');
$uq= $session->get('unique');
$sendto= $session->get('mail');
//mail
$mailer =& JFactory::getMailer();
$mailer->setSender('some1@domain.com');
$recipient = array($sendto, 'some1else@domain.com');
$mailer->addRecipient($recipient);
$body = '<h2>sometext</h2>'
. '<div>sometext</div>'
. '<div> blabla' echo $num1 'blabla </div>'
. '<div> texttext' echo $num2 'texet </div>'
. '<div> texttext' echo $val 'text </div>';
$mailer->isHTML(true);
$mailer->Encoding = 'base64';
$mailer->setBody($body);
$mailer->AddEmbeddedImage("$uq".".gif", "image_0", "", "base64", "image/gif");
$mailer->addAttachment("$uq".".gif");
//send
$send =& $mailer->Send();
if ( $send !== true ) {
//Elimina .gif
$mask = "*.gif";
array_map( "unlink", glob( $mask ) );
unset($mailer);
echo 'error: ' . $send->message;
} else {
unset($mailer);
//Elimina .gif
$mask = "*.gif";
array_map( "unlink", glob( $mask ) );
echo 'done';
}
?>
忘记添加有关平台的规格:
PHP 版本 5.3.22
Joomla!版本 2.5.9
如果您需要任何其他信息,请询问。
更新:我尝试了另一个 joomla!版本,代码的简化版本,没有变量,只有一封电子邮件,纯文本电子邮件......似乎没有任何工作。带有空白错误日志的内部服务器错误(500)...(奇怪,但安装它位于具有许多其他安装的子目录中,并且我的虚拟主机允许我只看到“根”日志,所以我认为这是问题所在的空白错误日志...)