使用phpmailer类发送邮件的相关问题。
[size=12px]在phpmailer类中有一个CreateBody()方法,[/size]
代码如下:
/**
* 组装消息正文。 失败时返回空字符串。
* @access public
* @return string 组装好的消息正文
*/
public function CreateBody() {
$body = '';
if ($this->sign_key_file) {
$body .= $this-> ;GetMailMIME();
}
$this->SetWordWrap();
switch($this->message_type) {
case 'alt':
$body .= $this->GetBoundary($this->boundary[1], '', 'text/plain', '');
$body .= $this->EncodeString($ this->AltBody, $this->Encoding);
$body .= $this->LE.$this->LE;
$body .= $this->GetBoundary($ this->boundary[1], '', 'text/html', '');
$body .= $this->EncodeString($this->Body, $this->Encoding) ;
$body .= $this->LE.$this->LE;
$body .= $this->EndBoundary($this->boundary[1]);
break;
case 'plain':
$body .= $this->EncodeString($this->Body, $this->Encoding);
break;
case '附件':
$body .= $this->GetBoundary($this->boundary[1], '', '', '');
$body .= $this->EncodeString( $this->Body, $this->Encoding);
$body .= $this->LE;
$body .= $this->AttachAll();
break;
case 'alt_attachments':
$body .= sprintf("--%s%s", $this->boundary[1], $this->LE);
$body . = sprintf("内容类型:%s;%s" . "tboundary="%s"%s", '多部分/替代', $this->LE, $this->boundary[2], $this->LE.$this->LE);
$body .= $this->GetBoundary($this->boundary[2], '', 'text/plain', '') 。 $this->LE; // 创建文本正文
$body .= $this->EncodeString($this->AltBody, $this->Encoding);
$body .= $this->LE.$this ->LE;
$body .= $this->GetBoundary($this->boundary[2], '', 'text/html', '') 。 $this->LE; // 创建 HTML 正文
$body .= $this->EncodeString($this->Body, $this->Encoding);
$body .= $this->LE.$ this->LE;
$body .= $this->EndBoundary($this->boundary[2]);
$body .= $this->AttachAll();
Break;
}
if ($this->IsError()) {
$body = '';
} elseif ($this->sign_key_file) {
尝试 {
$file = tempnam('', 'mail');
file_put_contents($file, $body); //TODO 检查是否有效
$signed = tempnam("", "signed");
if (@openssl_pkcs7_sign($file, $signed, "file://".$this->sign_cert_file, array("file://".$this->sign_key_file, $this->sign_key_pass), NULL)) {
@unlink($file);
@unlink($signed);
$body = file_get_contents($signed);
} else {
@unlink($file);
@unlink($signed);
throw new phpmailerException($this->Lang( "signing").openssl_error_string());
}
} catch (phpmailerException $e) {
$body = '';
if ($this->例外) {
throw $e;
}
}
}
return $body;
}
问题:
已经从后台传参过来option 数据库对象,需要在发送文件的body中设置以一定的格式显示option数据库对象的内容,请问如何设置????
-----解决方案--- -----------------