⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 send.php

📁 groupoffice
💻 PHP
📖 第 1 页 / 共 2 页
字号:
		}		$addresses[] = $email->f("email");		$names[] = $email->f("email")." (".$email->f("name").")";		$ids[] = $email->f("id");	}	$signature = '';	if ($mail_from > 0)	{		$account = $email->get_account($mail_from);		if ($account['signature'] != '')		{			if ($content_type == 'text/HTML')			{				$signature = '<br />'.text_to_html($account['signature']).'<br /><br />';			}else			{				$signature = "\r\n".$account['signature']."\r\n\r\n";			}		}	} 	//if a uid is given then the user is replying or forwarding	if ($uid > 0 && ($_SERVER['REQUEST_METHOD']  != 'POST' || $sendaction == 'load_template' || $sendaction == 'change_format'))	{		//get the original message		require_once($GO_CONFIG->class_path."mail/imap.class.inc");		$mail = new imap();		$account = $email->get_account($mail_from);		if ($account && $mail->open(			$account['host'], 			$account['type'], 			$account['port'], 			$account['username'], 			$account['password'], 			$_REQUEST['mailbox'], 			0, 			$account['use_ssl'], 			$account['novalidate_cert']))		{			$preferred_type = ($content_type=='text/HTML') ? 'html' : 'text';			$content = $mail->get_message($uid, $preferred_type,"");			$parts = array_reverse($mail->f("parts"));			//fill in the header fields			$subject = isset($content['subject']) ? $content['subject'] : $ml_no_subject;			switch($_REQUEST['action'])			{				case 'open':					$mail_subject = $subject;					if (isset($content["to"]))					{						for ($i=0;$i<sizeof($content["to"]);$i++)						{							if ($content["to"][$i] != "" && !in_array(get_email_from_string($content["to"][$i]),$addresses))							{								if (!isset($first))								{									$first = true;								}else								{									$mail_to .= ',';								}								$mail_to .= $content["to"][$i];							}						}					}					unset($first);					if (isset($content["cc"]))					{						$show_cc = 'true';						for ($i=0;$i<sizeof($content["cc"]);$i++)						{											if ($content["cc"][$i] != "" && !in_array(get_email_from_string($content["cc"][$i]),$addresses))							{								if (!isset($first))								{									$first = true;								}else								{									$mail_cc .= ',';								}								$mail_cc .= $content["cc"][$i];							}						}					}					if($sendaction != 'change_format')					{						for ($i=0;$i<count($parts);$i++)						{							if (eregi("attachment", $parts[$i]["disposition"]) ||									($parts[$i]["id"] == '' && eregi("inline", $parts[$i]["disposition"]))									&& !eregi("message/RFC822", $parts[$i]["mime"]))							{								$file = $mail->view_part($uid, $parts[$i]["number"], $parts[$i]["transfer"]);								$name = $parts[$i]['name'] != '' ? $parts[$i]['name'] : 'attach_'.$i;								$tmp_file = $GO_CONFIG->tmpdir.md5(uniqid(time()));								$fp = fopen($tmp_file,"wb");								fwrite ($fp,$file);								fclose($fp);								$email->register_attachment($tmp_file, $parts[$i]["name"], $parts[$i]["size"], $parts[$i]["mime"], 'attachment', $parts[$i]["id"]);							}						}					}				break;								case "reply":					$mail_to = $content["reply_to"];					if(!eregi('Re:', $subject))					{						$mail_subject = 'Re: '.$subject;					}else					{						$mail_subject = $subject;					}				break;				case "reply_all":					$mail_to = $content["reply_to"];					if(!eregi('Re:', $subject))					{						$mail_subject = 'Re: '.$subject;					}else					{						$mail_subject = $subject;					}						//add all recievers from this email					if (isset($content["to"]))					{												for ($i=0;$i<sizeof($content["to"]);$i++)						{							if ($content["to"][$i] != "" && !in_array(get_email_from_string($content["to"][$i]),$addresses))							{								$mail_to .= ",".$content["to"][$i];							}						}					}					if (isset($content["cc"]) && count($content["cc"]) > 0)					{						$show_cc = 'true';						for ($i=0;$i<sizeof($content["cc"]);$i++)						{							if ($content["cc"][$i] != "" && !in_array(get_email_from_string($content["cc"][$i]),$addresses))							{								if (!isset($first))								{									$first = true;								}else								{									$mail_cc .= ',';								}								$mail_cc .= $content["cc"][$i];							}						}					}				break;				case "forward":					//reattach attachments					if(!eregi('Fwd:', $subject))					{						$mail_subject = 'Fwd: '.$subject;					}else					{						$mail_subject = $subject;					}				if($sendaction != 'change_format')				{					for ($i=0;$i<count($parts);$i++)					{						if (eregi("attachment", $parts[$i]["disposition"]) ||								($parts[$i]["id"] == '' && eregi("inline", $parts[$i]["disposition"]))								&& !eregi("message/RFC822", $parts[$i]["mime"]))						{							$file = $mail->view_part($uid, $parts[$i]["number"], $parts[$i]["transfer"]);							$name = $parts[$i]['name'] != '' ? $parts[$i]['name'] : 'attach_'.$i;							$tmp_file = $GO_CONFIG->tmpdir.md5(uniqid(time()));							$fp = fopen($tmp_file,"wb");							fwrite ($fp,$file);							fclose($fp);							$email->register_attachment($tmp_file, $parts[$i]["name"], $parts[$i]["size"], $parts[$i]["mime"], 'attachment', $parts[$i]["id"]);						}					}				}				break;			}			//reatach inline attachements			for ($i=0;$i<count($parts);$i++)			{				if ($parts[$i]["id"] != '')// && eregi("inline", $parts[$i]["disposition"]))				{					$file = $mail->view_part($uid, $parts[$i]["number"], $parts[$i]["transfer"]);					$tmp_file = $GO_CONFIG->tmpdir.md5(uniqid(time()));					$fp = fopen($tmp_file,"wb");					fwrite ($fp,$file);					fclose($fp);					if (strpos($parts[$i]["id"],'>'))					{						$parts[$i]["id"] = substr($parts[$i]["id"], 1,strlen($parts[$i]["id"])-2);					}					$email->register_attachment($tmp_file, $parts[$i]["name"],							$parts[$i]["size"], $parts[$i]["mime"], 'inline', $parts[$i]["id"]);					//Content-ID's that need to be replaced with urls when message is send					//replace inline images identified by a content id with the url to display the part by Group-Office					$url_replacement['id'] = $parts[$i]["id"];					$url_replacement['url'] = "attachment.php?account_id=".$mail_from."&mailbox=".$_REQUEST['mailbox']."&uid=".$uid."&part=".$parts[$i]["number"]."&transfer=".$parts[$i]["transfer"]."&mime=".$parts[$i]["mime"]."&filename=".urlencode($parts[$i]["name"]);					$_SESSION['url_replacements'][] = $url_replacement;				}			}			$html_message_count = 0;			for ($i=0;$i<count($parts);$i++)			{				if($content_type=='text/HTML')				{					$mime = strtolower($parts[$i]["mime"]);					if (!eregi("attachment", $parts[$i]["disposition"]))					{						switch ($mime)						{							case 'text/plain':								$html_part = text_to_html($mail->view_part($uid,											$parts[$i]["number"], $parts[$i]["transfer"], $parts[$i]['charset']), false);								$mail_body .= $html_part;								break;							case 'text/html':								$html_part = convert_html($mail->view_part($uid,											$parts[$i]["number"], $parts[$i]["transfer"], $parts[$i]['charset']));								$mail_body .= $html_part;								break;							case 'text/enriched':								$html_part = enriched_to_html($mail->view_part($uid,											$parts[$i]["number"], $parts[$i]["transfer"], $parts[$i]['charset']), false);								$mail_body .= $html_part;								break;						}					}				}else				{					if (strtolower($parts[$i]["mime"]) == "text/plain" &&							!eregi("ATTACHMENT", $parts[$i]["disposition"]))					{						$mail_body .= $mail->view_part($uid, $parts[$i]["number"], $parts[$i]["transfer"], $parts[$i]['charset']);											}					//add html messages as an attachment since we don't have an html editor to display it coreect yet					if (strtolower($parts[$i]["mime"]) == "text/html" &&							!eregi("ATTACHMENT", $parts[$i]["disposition"]))					{						if ($parts[$i]["name"] == '' && $parts[$i]["mime"] == "text/HTML")						{							if ($html_message_count == 0)								$parts[$i]["name"] = $content["sender"].".html";							else								$parts[$i]["name"] = $content["sender"]."(".$html_message_count.").html";							$html_message_count++;						}//						$file = $mail->view_part($uid, $parts[$i]["number"],//								$parts[$i]["transfer"], $parts[$i]["mime"], $parts[$i]['charset']);						$file = $mail->view_part($uid, $parts[$i]["number"],								$parts[$i]["transfer"], $parts[$i]['charset']);						$tmp_file = $GO_CONFIG->tmpdir.md5(uniqid(time()));						$fp = fopen($tmp_file,"w");						fwrite ($fp,$file);						fclose($fp);						$email->register_attachment($tmp_file, $parts[$i]["name"],								$parts[$i]["size"], $parts[$i]["mime"]);					}				}			}			if ($content_type=='text/HTML')			{				if ($mail_body != '')				{					//replace inline images with the url to display the part by Group-Office					if (isset($_SESSION['url_replacements']))					{						for ($i=0;$i<count($_SESSION['url_replacements']);$i++)						{							$mail_body = str_replace('cid:'.$_SESSION['url_replacements'][$i]['id'], $_SESSION['url_replacements'][$i]['url'], $mail_body);						}					}				}				if($_REQUEST['action'] != 'open')				{					$header_om  = '<font face="verdana" size="2">'.$ml_original_follows."<br />";					$om_to = '';					if (isset($content))					{						$header_om .= "<b>".$ml_subject.":&nbsp;</b>".addslashes($subject)."<br />";						$header_om .= '<b>'.$ml_from.": &nbsp;</b>".$content['from'].' &lt;'.$content["sender"]."&gt;<br />";						if (isset($content['to']))						{							for ($i=0;$i<sizeof($content["to"]);$i++)							{								if ($i!=0)	$om_to .= ',';								$om_to .= $content["to"][$i];								}						}else						{							$om_to=$ml_no_reciepent;						}						$header_om .= "<b>".$ml_to.":&nbsp;</b>".addslashes(htmlspecialchars($om_to))."<br />";						$om_cc = '';						if (isset($content['cc']))						{							for ($i=0;$i<sizeof($content["cc"]);$i++)							{								if ($i!=0)	$om_cc .= ',';								$om_cc .= $content["cc"][$i];								}						}						if($om_cc != '')						{							$header_om .= "<b>CC:&nbsp;</b>".addslashes(htmlspecialchars($om_cc))."<br />";						}						$header_om .= "<b>".$strDate.":&nbsp;</b>".date($_SESSION['GO_SESSION']['date_format'].' '.$_SESSION['GO_SESSION']['time_format'],$content["udate"])."<br />";					}					$header_om .= "</font><br /><br />";										$mail_body = $signature.'<br /><blockquote style="border:0;border-left: 2px solid #22437f; padding:0px; margin:0px; padding-left:5px; margin-left: 5px; ">'.$header_om.$mail_body.'</blockquote>';				}			}else			{				if($_REQUEST['action'] != 'open')				{					$header_om  = $ml_original_follows."\r\n";					if (isset($content))					{						$header_om .= $ml_subject.": ".$subject."\r\n";						$header_om .= $ml_from.": ".$content['from'].' <'.$content["sender"].">\r\n";						$om_to = '';						if (isset($content['to']))						{							for ($i=0;$i<sizeof($content["to"]);$i++)							{								if ($i!=0)	$om_to .= ',';																$om_to .= $content["to"][$i];								}							$header_om .= $ml_to.": ".$om_to."\r\n";						}else						{							$om_to = $ml_no_reciepent;						} 						$om_cc = '';						if (isset($content['cc']))						{							for ($i=0;$i<sizeof($content["cc"]);$i++)							{								if ($i!=0)	$om_cc .= ',';								$om_cc .= $content["cc"][$i];								}						}						if($om_cc != '')						{							$header_om .= "CC: ".$om_cc."\r\n";						}						$header_om .= $strDate.": ".date($_SESSION['GO_SESSION']['date_format'].' '.$_SESSION['GO_SESSION']['time_format'],$content["udate"])."\r\n\r\n\r\n";					}					if ($html_message_count > 0)					{						$mail_body = $ml_html_message_attached."\r\n\r\n".$header_om.$mail_body;					}else					{						$mail_body = $header_om.$mail_body;					}										$mail_body = $signature.quote($mail_body);				}			}		}		$mail->close();	}else	{		if($mail_body == '')		{			$mail_body = $signature;		}	}		$min_height = -195;	if(count($ids) > 1)	{		$min_height -= 25;	}	if($show_cc == 'true') $min_height -= 52;	if($show_bcc == 'true') $min_height -= 52;	if($ab_module && $ab_module['read_permission'])	{ 			$ab->search_contacts($GO_SECURITY->user_id, '%');		while($ab->next_record())		{			if(validate_email($ab->f('email')))			{				$middle_name = $ab->f('middle_name') == '' ? ' ' : ' '.$ab->f('middle_name').' ';  						$autocomplete_contacts[] = $RFC822->write_address(addslashes($ab->f('first_name').$middle_name.$ab->f('last_name')),$ab->f('email'));			}		}		$ab->search_companies($GO_SECURITY->user_id, '%');		while($ab->next_record())		{			if(validate_email($ab->f('email')))			{				$autocomplete_contacts[] = $RFC822->write_address(addslashes($ab->f('name')),$ab->f('email'));			}		}				$GO_USERS->get_authorized_users($GO_SECURITY->user_id);		while($GO_USERS->next_record())		{			$middle_name = $GO_USERS->f('middle_name') == '' ? ' ' : ' '.$GO_USERS->f('middle_name').' ';			$autocomplete_contacts[] = '"'.addslashes($GO_USERS->f('first_name').$middle_name.$GO_USERS->f('last_name')).'" <'.$GO_USERS->f('email').'>';		}	}		if(isset($autocomplete_contacts) && count($autocomplete_contacts) > 0)	{		$autocomplete_contacts = array_unique($autocomplete_contacts);		$GO_HEADER['head'] = '<script language="javascript" type="text/javascript" src="'.$GO_CONFIG->host.'javascript/actb.js"></script>';		$GO_HEADER['head'] .= '<script type="text/javascript">'.			'var autocomplete_contacts = new Array(\''.implode("','", $autocomplete_contacts).'\');'.			'</script>';	}	$GO_HEADER['body_arguments'] = 'onload="document.sendform.mail_to.focus();" onUnLoad="close_attachments();"';	$overlib = new overlib();	$GO_HEADER['head'] .= $overlib->get_header();	require_once($GO_THEME->theme_path."header.inc");	require_once("compose.inc");}require_once($GO_THEME->theme_path."footer.inc");?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -