本文整理汇总了PHP中Mail_mime::getHTMLBody方法的典型用法代码示例。如果您正苦于以下问题:PHP Mail_mime::getHTMLBody方法的具体用法?PHP Mail_mime::getHTMLBody怎么用?PHP Mail_mime::getHTMLBody使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mail_mime
的用法示例。
在下文中一共展示了Mail_mime::getHTMLBody方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _do_emaillearn
private function _do_emaillearn($uids, $spam)
{
$rcmail = rcube::get_instance();
$identity_arr = $rcmail->user->get_identity();
$from = $identity_arr['email'];
if ($spam) {
$mailto = $rcmail->config->get('markasjunk2_email_spam');
} else {
$mailto = $rcmail->config->get('markasjunk2_email_ham');
}
$mailto = str_replace('%u', $_SESSION['username'], $mailto);
$mailto = str_replace('%l', $rcmail->user->get_username('local'), $mailto);
$mailto = str_replace('%d', $rcmail->user->get_username('domain'), $mailto);
$mailto = str_replace('%i', $from, $mailto);
if (!$mailto) {
return;
}
$message_charset = $rcmail->output->get_charset();
// chose transfer encoding
$charset_7bit = array('ASCII', 'ISO-2022-JP', 'ISO-8859-1', 'ISO-8859-2', 'ISO-8859-15');
$transfer_encoding = in_array(strtoupper($message_charset), $charset_7bit) ? '7bit' : '8bit';
$temp_dir = realpath($rcmail->config->get('temp_dir'));
$subject = $rcmail->config->get('markasjunk2_email_subject');
$subject = str_replace('%u', $_SESSION['username'], $subject);
$subject = str_replace('%t', $spam ? 'spam' : 'ham', $subject);
$subject = str_replace('%l', $rcmail->user->get_username('local'), $subject);
$subject = str_replace('%d', $rcmail->user->get_username('domain'), $subject);
// compose headers array
$headers = array();
$headers['Date'] = date('r');
$headers['From'] = format_email_recipient($identity_arr['email'], $identity_arr['name']);
$headers['To'] = $mailto;
$headers['Subject'] = $subject;
foreach ($uids as $uid) {
$MESSAGE = new rcube_message($uid);
// set message charset as default
if (!empty($MESSAGE->headers->charset)) {
$rcmail->storage->set_charset($MESSAGE->headers->charset);
}
$MAIL_MIME = new Mail_mime($rcmail->config->header_delimiter());
if ($rcmail->config->get('markasjunk2_email_attach', false)) {
$tmpPath = tempnam($temp_dir, 'rcmMarkASJunk2');
// send mail as attachment
$MAIL_MIME->setTXTBody(($spam ? 'Spam' : 'Ham') . ' report from ' . $rcmail->config->get('product_name'), false, true);
$raw_message = $rcmail->storage->get_raw_body($uid);
$subject = $MESSAGE->get_header('subject');
if (isset($subject) && $subject != "") {
$disp_name = $subject . ".eml";
} else {
$disp_name = "message_rfc822.eml";
}
if (file_put_contents($tmpPath, $raw_message)) {
$MAIL_MIME->addAttachment($tmpPath, "message/rfc822", $disp_name, true, $transfer_encoding, 'attachment', '', '', '', $rcmail->config->get('mime_param_folding') ? 'quoted-printable' : NULL, $rcmail->config->get('mime_param_folding') == 2 ? 'quoted-printable' : NULL, '', RCUBE_CHARSET);
}
// encoding settings for mail composing
$MAIL_MIME->setParam('text_encoding', $transfer_encoding);
$MAIL_MIME->setParam('html_encoding', 'quoted-printable');
$MAIL_MIME->setParam('head_encoding', 'quoted-printable');
$MAIL_MIME->setParam('head_charset', $message_charset);
$MAIL_MIME->setParam('html_charset', $message_charset);
$MAIL_MIME->setParam('text_charset', $message_charset);
// pass headers to message object
$MAIL_MIME->headers($headers);
} else {
$headers['Resent-From'] = $headers['From'];
$headers['Resent-Date'] = $headers['Date'];
$headers['Date'] = $MESSAGE->headers->date;
$headers['From'] = $MESSAGE->headers->from;
$headers['Subject'] = $MESSAGE->headers->subject;
$MAIL_MIME->headers($headers);
if ($MESSAGE->has_html_part()) {
$body = $MESSAGE->first_html_part();
$MAIL_MIME->setHTMLBody($body);
}
$body = $MESSAGE->first_text_part();
$MAIL_MIME->setTXTBody($body, false, true);
foreach ($MESSAGE->attachments as $attachment) {
$MAIL_MIME->addAttachment($MESSAGE->get_part_body($attachment->mime_id, true), $attachment->mimetype, $attachment->filename, false, $attachment->encoding, $attachment->disposition, '', $attachment->charset);
}
foreach ($MESSAGE->mime_parts as $attachment) {
if (!empty($attachment->content_id)) {
// covert CID to Mail_MIME format
$attachment->content_id = str_replace('<', '', $attachment->content_id);
$attachment->content_id = str_replace('>', '', $attachment->content_id);
if (empty($attachment->filename)) {
$attachment->filename = $attachment->content_id;
}
$message_body = $MAIL_MIME->getHTMLBody();
$dispurl = 'cid:' . $attachment->content_id;
$message_body = str_replace($dispurl, $attachment->filename, $message_body);
$MAIL_MIME->setHTMLBody($message_body);
$MAIL_MIME->addHTMLImage($MESSAGE->get_part_body($attachment->mime_id, true), $attachment->mimetype, $attachment->filename, false);
}
}
// encoding settings for mail composing
$MAIL_MIME->setParam('head_encoding', $MESSAGE->headers->encoding);
$MAIL_MIME->setParam('head_charset', $MESSAGE->headers->charset);
foreach ($MESSAGE->mime_parts as $mime_id => $part) {
$mimetype = strtolower($part->ctype_primary . '/' . $part->ctype_secondary);
if ($mimetype == 'text/html') {
//.........这里部分代码省略.........
示例2: unset
/**
* Remove attachments from a message
*/
function remove_attachments()
{
$rcmail = rcmail::get_instance();
$imap = $rcmail->storage;
$MESSAGE = new rcube_message(get_input_value('_uid', RCUBE_INPUT_GET));
$headers = $this->_parse_headers($imap->get_raw_headers($MESSAGE->uid));
// set message charset as default
if (!empty($MESSAGE->headers->charset)) {
$imap->set_charset($MESSAGE->headers->charset);
}
// Remove old MIME headers
unset($headers['MIME-Version']);
unset($headers['Content-Type']);
$MAIL_MIME = new Mail_mime($rcmail->config->header_delimiter());
$MAIL_MIME->headers($headers);
if ($MESSAGE->has_html_part()) {
$body = $MESSAGE->first_html_part();
$MAIL_MIME->setHTMLBody($body);
}
$body = $MESSAGE->first_text_part();
$MAIL_MIME->setTXTBody($body, false, true);
foreach ($MESSAGE->attachments as $attachment) {
if ($attachment->mime_id != get_input_value('_part', RCUBE_INPUT_GET) && get_input_value('_part', RCUBE_INPUT_GET) != '-1') {
$MAIL_MIME->addAttachment($MESSAGE->get_part_content($attachment->mime_id), $attachment->mimetype, $attachment->filename, false, $attachment->encoding, $attachment->disposition, '', $attachment->charset);
}
}
foreach ($MESSAGE->mime_parts as $attachment) {
if (!empty($attachment->content_id)) {
// covert CID to Mail_MIME format
$attachment->content_id = str_replace('<', '', $attachment->content_id);
$attachment->content_id = str_replace('>', '', $attachment->content_id);
if (empty($attachment->filename)) {
$attachment->filename = $attachment->content_id;
}
$MESSAGE_body = $MAIL_MIME->getHTMLBody();
$dispurl = 'cid:' . $attachment->content_id;
$MESSAGE_body = str_replace($dispurl, $attachment->filename, $MESSAGE_body);
$MAIL_MIME->setHTMLBody($MESSAGE_body);
$MAIL_MIME->addHTMLImage($MESSAGE->get_part_content($attachment->mime_id), $attachment->mimetype, $attachment->filename, false);
}
}
// encoding settings for mail composing
$MAIL_MIME->setParam('head_encoding', $MESSAGE->headers->encoding);
$MAIL_MIME->setParam('head_charset', $MESSAGE->headers->charset);
foreach ($MESSAGE->mime_parts as $mime_id => $part) {
$mimetype = strtolower($part->ctype_primary . '/' . $part->ctype_secondary);
if ($mimetype == 'text/html') {
$MAIL_MIME->setParam('text_encoding', $part->encoding);
$MAIL_MIME->setParam('html_charset', $part->charset);
} else {
if ($mimetype == 'text/plain') {
$MAIL_MIME->setParam('html_encoding', $part->encoding);
$MAIL_MIME->setParam('text_charset', $part->charset);
}
}
}
$saved = $imap->save_message($_SESSION['mbox'], $MAIL_MIME->getMessage());
//write_log("debug","saved=".$saved);
if ($saved) {
$imap->delete_message($MESSAGE->uid);
// Assume the one we just added has the highest UID
//dsoares $uids = $imap->conn->fetchUIDs($imap->mod_mailbox($_SESSION['mbox']));
//dsoares $uid = end($uids);
$uid = $saved;
//dsoares
// set flags
foreach ($MESSAGE->headers->flags as $flag) {
$imap->set_flag($uid, strtoupper($flag), $_SESSION['mbox']);
}
$this->api->output->command('display_message', $this->gettext('attachmentremoved'), 'confirmation');
$this->api->output->command('removeattachments_reload', $uid);
} else {
$this->api->output->command('display_message', $this->gettext('removefailed'), 'error');
}
$this->api->output->send();
}
开发者ID:messagerie-melanie2,项目名称:Roundcube-Plugin-Remove-Attachments,代码行数:79,代码来源:removeattachments.php