本文整理汇总了PHP中comment::get_email_recipient_headers方法的典型用法代码示例。如果您正苦于以下问题:PHP comment::get_email_recipient_headers方法的具体用法?PHP comment::get_email_recipient_headers怎么用?PHP comment::get_email_recipient_headers使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类comment
的用法示例。
在下文中一共展示了comment::get_email_recipient_headers方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: send_emails
function send_emails($selected_option, $email_receive = false, $hash = "", $is_a_reply_comment = false, $files = array())
{
$current_user =& singleton("current_user");
$e = $this->get_parent_object();
$type = $e->classname . "_comments";
$body = $this->get_value("comment");
if (is_object($email_receive)) {
list($from_address, $from_name) = parse_email_address($email_receive->mail_headers["from"]);
}
if ($is_a_reply_comment) {
$id = $this->get_value("commentLinkID");
} else {
$id = $this->get_id();
}
$recipients = comment::get_email_recipients($selected_option, "comment", $id);
list($to_address, $bcc, $successful_recipients) = comment::get_email_recipient_headers($recipients, $from_address);
if ($to_address || $bcc || $successful_recipients) {
$email = new email_send();
if ($email_receive) {
list($email_receive_header, $email_receive_body) = $email_receive->get_raw_header_and_body();
$email->set_headers($email_receive_header);
$email->set_body($email_receive_body, $email_receive->mail_text);
// Remove any existing To/Cc header, to prevent the email getting sent to the same recipients again.
$email->del_header("To");
$email->del_header("Cc");
$subject = $email->get_header("subject");
$subject = trim(preg_replace("/{Key:[^}]*}.*\$/i", "", $subject));
} else {
$email->set_body($body);
if ($files) {
// (if we're bouncing a complete email body the attachments are already included, else do this...)
foreach ((array) $files as $file) {
$email->add_attachment($file["fullpath"]);
}
} else {
$email->set_content_type();
}
}
$bcc && $email->add_header("Bcc", $bcc);
// nuke bounce headers - mail won't send properly otherwise
$email->del_header("Resent-From");
$email->del_header("Resent-Date");
$email->del_header("Resent-Message-ID");
$email->del_header("Resent-To");
$email->add_header("X-Alloc-CommentID", $this->get_id());
if (is_object($e) && method_exists($e, "get_name")) {
$email->add_header("X-Alloc-" . ucwords($e->classname), $e->get_name());
$email->add_header("X-Alloc-" . ucwords($e->key_field->get_name()), $e->get_id());
}
// Add project header too, if possible
if (has("project") && $e->classname != "project" && isset($e->data_fields["projectID"])) {
$p = $e->get_foreign_object("project");
$email->add_header("X-Alloc-Project", $p->get_value("projectName"));
$email->add_header("X-Alloc-ProjectID", $p->get_id());
}
$email->set_to_address($to_address);
$messageid = $email->set_message_id($hash);
$subject_extra = "{Key:" . $hash . "}";
$email->set_date();
if (!$subject) {
$tpl = config::get_config_item("emailSubject_" . $e->classname . "Comment");
$tpl and $subject = commentTemplate::populate_string($tpl, $e->classname, $e->get_id());
$e->classname != "task" and $prefix = ucwords($e->classname) . " Comment: ";
$subject or $subject = $prefix . $e->get_id() . " " . $e->get_name(DST_VARIABLE);
}
$email->set_subject($subject . " " . $subject_extra);
$email->set_message_type($type);
// If from name is empty, then use the email address instead
// eg: From: jon@jonny.com -> From: "jon@jonny.com via allocPSA" <alloc@cyber.com>
$from_name or $from_name = $from_address;
is_object($current_user) && !$from_name and $from_name = $current_user->get_name();
if (defined("ALLOC_DEFAULT_FROM_ADDRESS") && ALLOC_DEFAULT_FROM_ADDRESS) {
if (config::for_cyber()) {
$email->set_reply_to('"All parties via allocPSA" ' . ALLOC_DEFAULT_FROM_ADDRESS);
$email->set_from('"' . str_replace('"', '', $from_name) . ' via allocPSA" ' . ALLOC_DEFAULT_FROM_ADDRESS);
} else {
$email->set_reply_to('"All parties" ' . ALLOC_DEFAULT_FROM_ADDRESS);
$email->set_from('"' . str_replace('"', '', $from_name) . '" ' . ALLOC_DEFAULT_FROM_ADDRESS);
}
} else {
if (is_object($current_user) && $current_user->get_from()) {
$f = $current_user->get_from();
} else {
$f = config::get_config_item("allocEmailAdmin");
}
$email->set_reply_to($f);
$email->set_from($f);
}
if ($email->send(false)) {
return array($successful_recipients, $messageid);
}
}
}
示例2: add_brackets
$name = $people_cache[$row["commentCreatedUser"]]["name"];
$email = add_brackets($people_cache[$row["commentCreatedUser"]]["emailAddress"]);
$eml = array();
$eml[] = "From: " . $name . " " . $email;
$eml[] = "Date: " . date('D M j G:i:s Y', strtotime($row["commentCreatedTime"]));
$e = new $entity();
$e->set_id($entityID);
$e->select();
$tpl = config::get_config_item("emailSubject_" . $entity . "Comment");
$tpl and $subject = commentTemplate::populate_string($tpl, $entity, $entityID);
$entity != "task" and $prefix = ucwords($entity) . " Comment: ";
$subject or $subject = $prefix . $entityID . " " . $e->get_name(DST_VARIABLE);
$r = $db->qr("SELECT tokenHash FROM token WHERE tokenEntity = 'comment' AND tokenEntityID = %d", $row["commentID"]);
$subject_header = "Subject: " . $subject . " {Key:" . $r["tokenHash"] . "}";
$eml[] = $subject_header;
$recipients = comment::get_email_recipients(array("interested"), $entity, $entityID);
list($to_address, $bcc, $successful_recipients) = comment::get_email_recipient_headers($recipients, $people_cache[$row["commentCreatedUser"]]["emailAddress"]);
$eml[] = "To: " . $to_address;
$eml[] = "";
$eml[] = $row["comment"];
$eml = implode("\n", $eml);
//$eml = str_replace("\n","<br>",htmlentities($eml)); //TODO: remove
//echo("<br><b style='font-size:70%'>".$eml."</b>");
$mail->mail_headers["subject"] = $subject_header;
// hack
$mail->msg_text = $eml;
$mail->archive("INBOX/" . $entity . $entityID);
}
$mail->expunge();
$mail->close();
}