You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
195 lines
6.9 KiB
195 lines
6.9 KiB
<?php
|
|
////////////////////////////////////////////////////
|
|
// PHPMailer - PHP email class
|
|
//
|
|
// Class for sending email using either
|
|
// sendmail, PHP mail(), or SMTP. Methods are
|
|
// based upon the standard AspEmail(tm) classes.
|
|
//
|
|
// Copyright (C) 2001 - 2003 Brent R. Matzelle
|
|
//
|
|
// License: LGPL, see LICENSE
|
|
////////////////////////////////////////////////////
|
|
|
|
/**
|
|
* PHPMailer - PHP email transport class
|
|
* @package PHPMailer
|
|
* @author Brent R. Matzelle
|
|
* @copyright 2001 - 2003 Brent R. Matzelle
|
|
*/
|
|
|
|
require_once('modules/Emails/Email.php');
|
|
require_once('include/logging.php');
|
|
require("class.phpmailer.php");
|
|
require_once('include/database/PearDatabase.php');
|
|
|
|
$local_log =& LoggerManager::getLogger('index');
|
|
|
|
echo get_module_title("Emails", $mod_strings['LBL_MODULE_NAME'], true);
|
|
|
|
sendmail($_REQUEST['assigned_user_id'],$current_user->user_name,$_REQUEST['name'],$_REQUEST['description'],$mail_server,$mail_server_username,$mail_server_password);
|
|
|
|
function sendmail($to,$from,$subject,$contents,$mail_server,$mail_server_username,$mail_server_password)
|
|
{
|
|
global $adb,$root_directory,$mod_strings;
|
|
|
|
$sql = $_REQUEST['query'];
|
|
$result= $adb->query($sql);
|
|
|
|
$noofrows = $adb->num_rows($result);
|
|
|
|
$dbQuery = 'select attachments.*, activity.subject, emails.description from emails inner join crmentity on crmentity.crmid = emails.emailid inner join activity on activity.activityid = crmentity.crmid left join seattachmentsrel on seattachmentsrel.crmid = emails.emailid left join attachments on seattachmentsrel.attachmentsid = attachments.attachmentsid where crmentity.crmid = '.$_REQUEST['return_id'];
|
|
|
|
$result1 = $adb->query($dbQuery) or die("Couldn't get file list");
|
|
$temparray = $adb->fetch_array($result1);
|
|
|
|
$notequery = 'select attachments.*, notes.notesid, notes.filename,notes.notecontent from notes inner join senotesrel on senotesrel.notesid= notes.notesid inner join crmentity on crmentity.crmid= senotesrel.crmid left join seattachmentsrel on seattachmentsrel.crmid =notes.notesid left join attachments on seattachmentsrel.attachmentsid = attachments.attachmentsid where crmentity.crmid='.$_REQUEST['return_id'];
|
|
$result2 = $adb->query($notequery) or die("Couldn't get file list");
|
|
|
|
$mail = new PHPMailer();
|
|
|
|
$mail->Subject =$adb->query_result($result1,0,"subject");
|
|
|
|
$DESCRIPTION = $adb->query_result($result1,0,"description");
|
|
$DESCRIPTION .= '<br><br>';
|
|
$DESCRIPTION .= '<font color=darkgrey>'.$adb->query_result($adb->query("select * from users where user_name='".$from."'"),0,"signature").'</font>';
|
|
|
|
$mail->Body = nl2br($DESCRIPTION);
|
|
$initialfrom = $from;
|
|
$mail->IsSMTP();
|
|
|
|
if($mail_server=='')
|
|
{
|
|
$mailserverresult=$adb->query("select * from systems where server_type = 'email'");
|
|
$mail_server=$adb->query_result($mailserverresult,0,'server');
|
|
$_REQUEST['server']=$mail_server;
|
|
}
|
|
$mail->Host = $mail_server;
|
|
$mail->SMTPAuth = true;
|
|
$mail->Username = "";
|
|
$mail->Password = "";
|
|
$mail->From = $adb->query_result($adb->query("select * from users where user_name='".$from."'"),0,"email1");
|
|
$mail->FromName = $initialfrom;
|
|
// $mail->AddAddress($to);
|
|
$mail->AddReplyTo($from);
|
|
$mail->WordWrap = 50;
|
|
|
|
//store this to the hard disk and give that url
|
|
|
|
for($i=0;$i< $adb->num_rows($result1);$i++)
|
|
{
|
|
$fileContent = $adb->query_result($result1,$i,"attachmentcontents");
|
|
$filename=$adb->query_result($result1,$i,"name");
|
|
$filesize=$adb->query_result($result1,$i,"attachmentsize");
|
|
|
|
if(!@$handle = fopen($root_directory."/test/upload/".$filename,"wb")){}
|
|
|
|
//chmod("/home/rajeshkannan/test/".$fileContent,0755);
|
|
if(!@fwrite($handle,base64_decode($fileContent),$filesize)){}
|
|
if(!@fclose($handle)){}
|
|
|
|
//select
|
|
$mail->AddAttachment($root_directory."/test/upload/".$filename);//temparray['filename']) // add attachments
|
|
|
|
// $mail->IsHTML(true);
|
|
// $mail->AltBody = "This is the body in plain text for non-HTML mail clients";
|
|
}
|
|
|
|
for($i=0;$i< $adb->num_rows($result2);$i++)
|
|
{
|
|
$fileContent = $adb->query_result($result2,$i,"attachmentcontents");
|
|
$filename=$adb->query_result($result2,$i,"name");
|
|
$filesize=$adb->query_result($result2,$i,"attachmentsize");
|
|
|
|
if(!@$handle = fopen($root_directory."/test/upload/".$filename,"wb")){}
|
|
|
|
//chmod("/home/rajeshkannan/test/".$fileContent,0755);
|
|
if(!@fwrite($handle,base64_decode($fileContent),$filesize)){}
|
|
if(!@fclose($handle)){}
|
|
|
|
//select
|
|
$mail->AddAttachment($root_directory."/test/upload/".$filename);//temparray['filename']) // add attachments
|
|
|
|
// $mail->IsHTML(true);
|
|
// $mail->AltBody = "This is the body in plain text for non-HTML mail clients";
|
|
}
|
|
$mail->IsHTML(true);
|
|
$mail->AltBody = "This is the body in plain text for non-HTML mail clients";
|
|
echo '<table>';
|
|
$count = 1;
|
|
for($i=0;$i< $noofrows;$i++)
|
|
{
|
|
$mail->ClearAddresses();
|
|
if($_REQUEST['mailto'] == 'users')
|
|
{
|
|
$to=$adb->query_result($result,$i,"email1");
|
|
if($to == '')
|
|
$to=$adb->query_result($result,$i,"email2");
|
|
if($to == '')
|
|
$to=$adb->query_result($result,$i,"yahoo_id");
|
|
}
|
|
else
|
|
$to=$adb->query_result($result,$i,"email");
|
|
|
|
$mail->AddAddress($to);
|
|
|
|
$emailoptout = $adb->query_result($result,$i,"emailoptout");
|
|
if($emailoptout == 1 && $to != '')
|
|
{
|
|
$mail->ClearAddresses();
|
|
$mail->AddAddress("");
|
|
$emailoptout_error = true;
|
|
}
|
|
|
|
$j=$i+1;
|
|
|
|
|
|
if($mail->Send())
|
|
{
|
|
$flag = true;
|
|
if($flag && $count == 1 && $noofrows >= 1)
|
|
{
|
|
$count = 0;
|
|
if($_REQUEST['mailto'] == 'users')
|
|
echo '<tr><b><h3>'.$mod_strings['MESSAGE_MAIL_HAS_SENT_TO_USERS'].' </h3></b></tr>';
|
|
else
|
|
echo '<tr><b><h3>'.$mod_strings['MESSAGE_MAIL_HAS_SENT_TO_CONTACTS'].' </h3></b></tr>';
|
|
}
|
|
echo '<center><tr align="left"><b><h3>'.$j.' . '.$to.'</h3></b></tr></center>';
|
|
}
|
|
else
|
|
{
|
|
$message = substr($mail->ErrorInfo,0,49);
|
|
$flag = false;
|
|
if($message=='Language string failed to load: connect_host')
|
|
{
|
|
if($i == 0)
|
|
echo "<br><b><h3>".$mod_strings['MESSAGE_CHECK_MAIL_SERVER_NAME']."</b></h3>";
|
|
}
|
|
elseif( $count == 1 && $noofrows >= 1)
|
|
{
|
|
$count = 0;
|
|
if($_REQUEST['mailto'] == 'users')
|
|
echo '<tr><b><h3>'.$mod_strings['MESSAGE_MAIL_HAS_SENT_TO_USERS'].' </h3></b></tr>';
|
|
else
|
|
echo '<tr><b><h3>'.$mod_strings['MESSAGE_MAIL_HAS_SENT_TO_CONTACTS'].' </h3></b></tr>';
|
|
}
|
|
if($message=='Language string failed to load: recipients_failed')
|
|
{
|
|
if($emailoptout_error == true)
|
|
{
|
|
$ERROR_MESSAGE = $mod_strings['MESSAGE_CONTACT_NOT_WANT_MAIL'];
|
|
$flag = true;
|
|
}
|
|
else
|
|
$ERROR_MESSAGE = $mod_strings['MESSAGE_MAIL_ID_IS_INCORRECT'];
|
|
|
|
echo '<center><tr align="left"><font color="purple"<b><h3>'.$j.' . '.$ERROR_MESSAGE.' </h3></font></b></tr></center>';
|
|
}
|
|
}
|
|
}
|
|
if($i==0) echo '<br><td align="left"><font color="red"><b><center><h3>'.$mod_strings['MESSAGE_ADD_USER_OR_CONTACT'].'</h3></b></font>';
|
|
if($i>1 && $flag)echo "<br><br><B><center><h3>".$mod_strings['MESSAGE_MAIL_SENT_SUCCESSFULLY']." </h3></B>";
|
|
echo '</table>';
|
|
}
|
|
?>
|
|
|