Jump to content

Recommended Posts

I have a working script but it wont send to file as an attachement it just generates the email in the browser like a webpage and sends an empty email.  ???

 

here is my code. It worked untill I needed to use smtp authentication. Eversince I changed the script to use authentication it hasn't worked

:-\

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Generating Emails from Database</title>
<style type="text/css">
<!--
.style2 {font-size: 12px}
.style3 {
font-size: 10px;
font-weight: bold;
}
.style4 {
font-size: 20px;
font-weight: bold;
color: #990000;
}
.style5 {color: #0000FF}
.style6 {color: #FF0000}
.style8 {color: #0000FF; font-size: 10px; }
.style9 {font-size: 10px}
-->
</style>
</head>

<body>  <?php	

require("class.phpmailer.php");

function mail_it($toEmail,$filename)
{
//echo "$company,$filename,$toEmail";
$mail = "";
$mail = new PHPMailer();
$mail->IsSMTP();                                      // set mailer to use SMTP
$mail->Host = "mail.xxxxxxxxx.com";  // specify main and backup server
$mail->SMTPAuth = true;     // turn on SMTP authentication
$mail->Username = "web@xxxxxxxxxx.com";  // SMTP username
$mail->Password = "password"; // SMTP password

$mail->From = "web@xxxxxxxxxx.com";
$mail->FromName = "E-Invoices";
$mail->AddReplyTo("invoices@xxxxxxxxxx.com", "TSR-Accounting");
// To email a specific address change $emailadd to that address at the bottom of document
$mail->AddAddress ($toEmail);
$mail->WordWrap = 100;                                 // set word wrap to 50 characters
$mail->AddAttachment("A/". $filename);         // add attachments
$mail->IsHTML(true);                                  // set email format to HTML
$mail->Subject = "xxxxxxxxxx - Monthly Invoice for "; 
$mail->Body = "Please find your Summary and Detailed Invoice Attached";//$info;
if(!$mail->Send())
{
   echo "Message could not be sent. <p>";
   echo "Mailer Error: " . $mail->ErrorInfo;
   $mail->ClearAddresses();
   $mail->ClearAttachments();

   exit;
}
echo "Invoice, $filename.html, for $company has been sent to $toEmail.<hr style='margin:0px;padding:0px;border-bottom:1px dashed #777;border-top:0px;border-left:0px;border-right:0px;line-height:0px;height:1px;display:block;' />\n";
$mail->ClearAddresses();
$mail->ClearAttachments();

}

$db_connection = new COM("ADODB.Connection"); 
$db_connstr = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=". realpath("einvoicing.mdb") ." ;DefaultDir=". realpath("../"); 
$db_connection->open($db_connstr); 

   			$timestr = date("Y-m-d",strtotime(date('Y-m-j')));


$rs = $db_connection->execute("SELECT * FROM cust"); 

$ticketnumber= $rs->Fields(0); 
$method = $rs->Fields(1);
$custnum = $rs->Fields(2); 
$dept = $rs->Fields(3); 
$bsuite = $rs->Fields(4); 
$bstreet = $rs->Fields(5); 
$bcity = $rs->Fields(6); 
$bstate = $rs->Fields(7); 
$bzip = $rs->Fields(; 
$emailadd = $rs->Fields(9); 	
$contact = $rs->Fields(11); 
$ssuite = $rs->Fields(12); 
$sstreet = $rs->Fields(13); 
$scity = $rs->Fields(14); 
$sstate = $rs->Fields(15); 
$szip = $rs->Fields(16); 


while (!$rs->EOF) 
{ 

$headers1  = "From: web@xxxxxxxx.com\r\n";
$headers1 .= 'MIME-Version: 1.0' . "\r\n";
$headers1 .= 'Content-type: text/html; charset=iso-8859-1'."\r\n";

	$messageTop = <<<EOF
	<body>
	<table width="594" border="0" align="center">
  		<tr>
    <td width="588"><p align="center"><img src="http://www.xxxxxxxxx.com/invoicemail/header.gif" alt="xxxxxxxxxxx, Inc." width="502" height="100" />
	     <hr />
	</td>
	</tr>
	</table>
	</body>
	</html>
EOF;

	$messagea="<table width='700' height='86' border='0' align='center'>
  <tr>
    <td width='38%' height='82'><div align='left'><span class='style2'> <font size='3' style='font-weight:bold'>Customer# </font>$custnum->value <br />
      <font size='3' style='font-weight:bold'>Dept# </font>$dept->value<br />
      <font size='3' style='font-weight:bold'>Billing Address:</font><br />
      $contact->value<br />
      $bsuite->value<br />
      $bstreet->value<br />
      $bcity->value $bstate->value , $bzip->value</span><br />
    </div></td>
    <td width='24%' align='center' valign='middle'><div align='center'><font size='3' style='font-weight:bold'>$method->value</font><br />
            <font size='4' style='font-weight:bold' color='#990000'>Electronic<br />
              Invoice</font></div></td>
    <td width='38%'><table width='100%' border='0'>
      <tr>
        <td><table width='100%' border='0'>
          <tr>
            <td width='57%'><div align='center'><font size='3' style='font-weight:bold'>Date</font><br />
              $timestr</div></td>
            <td width='43%'><div align='center'><font size='3' style='font-weight:bold'>Invoice Number</font> $ticketnumber->value</div></td>
          </tr>
        </table></td>
      </tr>
      <tr>
        <td><div align='center' class='style2'><font size='3' style='font-weight:bold'>Shipping Address:</font><br />
      $contact->value<br />
      $ssuite->value<br />
      $sstreet->value<br />
      $scity->value $sstate->value , $szip->value</div></td>
      </tr>
    </table></td>
  </tr>
</table>";





	$rs2 = $db_connection->execute("SELECT * FROM special"); 
$invoice2 = $rs2->Fields(1); 
$commtext = $rs2->Fields(3); 
$findinvoice2= $rs->Fields(0);
$messageb= "";
	while (!$rs2->EOF) 
		{
		 $x2= $invoice2->value;
	     $y2= $findinvoice2->value;
		 if($x2==$y2) 
			{	
	 		$messageb= "<table width='700' border='0' align='center'>
					  	<tr>
    						<td align='center'>
						$commtext->value
						<hr />
						</td>
						</tr>
						</table>";

			} 
		$rs2->MoveNext(); 
	} 
	$rs2->Close(); 


$messagec="	<table width='700' border='0' align='center'>
  <tr>
    <td><table width='100%' border='0'>
      <tr bgcolor='#CCCCCC'>
        <td width='10%' align='center'><span class='style3'><font size='2' style='font-weight:bold'>ITEM NBR.</font></span></td>
        <td width='7%' align='center'><span class='style3'><font size='2' style='font-weight:bold'>CO.</font></span></td>
        <td width='17%' align='center'><span class='style3'><font size='2' style='font-weight:bold'>DESCRIPTION</font></span></td>
        <td width='9%' align='center'><span class='style3'><font size='2' style='font-weight:bold'>UNIT</font></span></td>
        <td width='11%' align='center'><span class='style3'><font size='2' style='font-weight:bold'>ORDER<br />
          QTY</font></span></td>
        <td  width='8%' align='center'><p class='style3'><font size='2' style='font-weight:bold'>B/O<br />
          QTY</font></p></td>
        <td width='8%' align='center'><span class='style3'><font size='2' style='font-weight:bold'>SHIP<br />
          QTY</font></span></td>
        <td width='10%' align='center'><span class='style3'><font size='2' style='font-weight:bold'>UNIT<br />
          PRICE</font></span></td>
        <td width='15%' align='center'><span class='style3'><font size='2' style='font-weight:bold'>EXTENDED</font></span></td>
      	</tr>
    	</table>
    	</td>
  		</tr>
	</table>";


$rs1 = $db_connection->execute("SELECT * FROM item"); 
$invoice = $rs1->Fields(1); 
$company = $rs1->Fields(2); 
$itemnum = $rs1->Fields(3); 
$itemdesc = $rs1->Fields(4);
$unitmeas = $rs1->Fields(5);
$oqty = $rs1->Fields(6);
$sqty = $rs1->Fields(7); 
$boqty = $rs1->Fields(;
$sprice = $rs1->Fields(9);
$taxes = $rs1->Fields(10);
$xsell = $rs1->Fields(11);
$findinvoice= $rs->Fields(0);
$ttaxes=0;
$total=0;
$idkey = $rs1->Fields(0);	
$messaged= "";
	while (!$rs1->EOF) 
	{
		$t= number_format(($sprice->value), 2, '.', ',');
		$u= number_format(($xsell->value), 2, '.', ',');
		$v= ($taxes->value)+0;
		$w= ($idkey->value)+0;
		$x= $invoice->value;
		$y= $findinvoice->value;
		$z= ($xsell->value)+0;

		$customBG = $w % 2;
		if ($customBG == 0){
		$bcolor="lightyellow";
		}else{ 
		$bcolor="white";
		}


			if($x==$y) 
			{	
				$ttaxes = $ttaxes + $v;
				$total = $total + $z;
				$messaged.= "<table width='700' align='center'><tr bgcolor=$bcolor>
				<td width='10%' align='center'>$itemnum->value</td>
    				<td width='7%' align='center'>$company->value</td>
    				<td width='17%' align='center'>$itemdesc->value</td>
				<td width='9%' align='center'>$unitmeas->value</td>
    			<td width='11%' align='center'>$oqty->value</td>
			    <td width='8%' align='center'>$boqty->value</td>
    				<td width='8%' align='center'>$sqty->value</td>
    				<td width='10%' align='center'>$ $t</td>
    				<td width='15%' align='center'>$ $u</td></tr></table>";
			} 
		$rs1->MoveNext(); 
	} 
	$rs1->Close(); 

		$ttotal=($total + $ttaxes);
		$total= number_format($total, 2, '.', ',');
		$ttotal= number_format($ttotal, 2, '.', ',');
		$ttaxes= number_format($ttaxes, 2, '.', ',');

if ($ttaxes ==0) {
$messagee= "<table width='700' align='center' border='0'>
          <tr>
            <td width='71%'><p align='right' class='style5'><strong><font color='#0000FF' size='2' style='font-weight:bold'>Pay This Amount &#9658; </font></strong></p></td>
            <td align= 'right' width='29%' bgcolor='#CCCCCC'><strong><font color='#0000FF' size='2' style='font-weight:bold'>Total:   $ $ttotal</font></strong></td>
          </tr>
</table>";

}else{
$messagee= "<table width='700' align='center' border='0'>
          <tr>
            <td width='71%'><p align='right' class='style5'><strong><font color='#0000FF' size='2' style='font-weight:bold'>Pay This Amount &#9658; </font></strong></p></td>
            <td align= 'right' width='29%' bgcolor='#CCCCCC'><strong><font color='#0000FF' size='2' style='font-weight:bold'>SubTotal:   $ $total<br />
Tax:   $ $ttaxes<br />
Total:   $ $ttotal</font></strong></td>
          </tr>
</table>";
}	

$messagef= "<table width='700' border='0' align='center'>
  <tr>
    <td><hr />
      <p><font color='#0000FF' style='font-size:12px; font-family:sans-serif;'>Terms: A service charge of 1-1/2% per month will be assessed after thirty days. This is an annual rate of 18%</font><br />
<font color='#FF0000'  style='font-size:12px; font-family:sans-serif;'>Merchandise cannot be returned after 30 days. Please have original packaging for returns.<br />
    Must report shortages within five days. Thank you</font></p></td>
  </tr>
</table>";


$messageBottom= "<table width='700' border='0' align='center'>
  <tr>
    <td><hr />
      <p style='font-size:12px; font-family:sans-serif;'>This message has been sent to $emailadd->value if this is incorrect please contact your sales representative to change the information in the system.<br />
If there are discrepancies in the billing information please call xxxxxxxxxxxx and ask for the Accounts Receivable Department.<br />
If there is a problem with the order please call xxxxxxxxxxx and ask for Customer Service.<br />
You have received this electronic invoice because you have requested for invoicing in this format.  If you no longer wish to have electronic invoicing please contact your sales representative.</p></td>
  </tr>
</table>";



$messageall = $messageTop . $messagea . $messageb . $messagec . $messaged . $messagee . $messagef . $messageBottom;



//echo $messagea . $messageb. $messagec . $messaged . $messagee . $messagef .$messageBottom;
//$emailadd="help@xxxxxxxxxxxxxx.com";
//$emailadd="tsbadawy@hotmail.com";
mail_it($emailadd,$messageall,"E-Invoice ",$headers1);
//mail("web@xxxxxxxxxxxx.com","[COPY]E-Invoice From x",$messageall,$headers1);

$rs->MoveNext(); 
} 
$rs->Close(); 
$db_connection->Close();
echo "All e-mails were sent well!";
?>
</body>
</html>

Link to comment
https://forums.phpfreaks.com/topic/50706-php-mailer-help/
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.