I m having a website in which paypal acts as a payment gateway.,
i m using IPN to validate the payment and send confirmation mail to the recipients in my notiy url(e.g http://www.mysite.com/notify.php)
Everything works fine., but in yahoomail when i opened the email received and viewed the full headers of the mail.,
i can see the URL from which the mail is sent.
Like..
Expand|Select|Wrap|Line Numbers
- From Ticket Master Thu May 12 07:14:43 2011
- X-Apparently-To: vays_ij@yahoo.co.in via.....
- .......
- ..............
- Date: Mon, 09 May 2011 15:14:43 +0800
- To: testing <vays_ij@yahoo.co.in>
- Subject: Ticket confirmation from ticketmaster
- X-PHP-Script: www.mysite.com/notify.php for 192.168.1.2(server IP)
- From: Ticket Master <booking@mysite.com>
- Reply-To: Ticket Master <booking@mysite.com>
- Sender: booking@mysite.com
- MIME-Version: 1.0
- Content-Type: multipart/related; boundary="c052e8f7510af91ee938fb2081d381d1"
- Message-ID: <20110509151443.5890.booking@mysite.com>
- Content-Length: 96625
I felt that this is not safety enough to protect my code..
I amusing the class file from the below link to send the email..
Also attached the file.
Expand|Select|Wrap|Line Numbers
- http://www.phpclasses.org/package/9-PHP-PHP-mailer-to-compose-and-send-MIME-messages.html#download
Expand|Select|Wrap|Line Numbers
- <?php
- require("email_message.php");
- /*
- * Trying to guess your e-mail address.
- * It is better that you change this line to your address explicitly.
- * $from_address="me@mydomain.com";
- * $from_name="My Name";
- */
- // $from_address=getenv("USER")."@".getenv("HOSTNAME").'<br>';
- // $from_name=getenv("USERNAME");
- $from_address="booking@mysite.com";
- $from_name="Ticket Master";
- $reply_name=$from_name;
- $reply_address=$from_address;
- $reply_address=$from_address;
- $error_delivery_name=$from_name;
- $error_delivery_address=$from_address;
- /*
- * Change these lines or else you will be mailing the class author.
- */
- $to_name='Vijay anand';
- $to_address='vays_ij@yahoo.co.in';
- $subject="Ticket confirmation from ticketmaster";
- $email_message=new email_message_class;
- $email_message->SetEncodedEmailHeader("To",$guest_address,$guest_name);
- $email_message->SetEncodedEmailHeader("From",$from_address,$from_name);
- $email_message->SetEncodedEmailHeader("Reply-To",$reply_address,$reply_name);
- $email_message->SetHeader("Sender",$from_address);
- /*
- * Set the Return-Path header to define the envelope sender address to which bounced messages are delivered.
- * If you are using Windows, you need to use the smtp_message_class to set the return-path address.
- */
- if(defined("PHP_OS")
- && strcmp(substr(PHP_OS,0,3),"WIN"))
- $email_message->SetHeader("Return-Path",$error_delivery_address);
- $email_message->SetEncodedHeader("Subject",$subject);
- /*
- * An HTML message that requires any dependent files to be sent,
- * like image files, style sheet files, HTML frame files, etc..,
- * needs to be composed as a multipart/related message part.
- * Different parts need to be created before they can be added
- * later to the message.
- *
- * Parts can be created from files that can be opened and read.
- * The data content type needs to be specified. The can try to guess
- * the content type automatically from the file name.
- */
- $image=array(
- "FileName"=>"http://www.mysite.com/logo.gif",
- "Content-Type"=>"automatic/name",
- "Disposition"=>"inline",
- /*
- * You can set the Cache option if you are going to send the same message
- * to multiple users but this file part does not change.
- *
- "Cache"=>1
- */
- );
- $email_message->CreateFilePart($image,$image_part);
- /*
- * Parts that need to be referenced from other parts,
- * like images that have to be hyperlinked from the HTML,
- * are referenced with a special Content-ID string that
- * the class creates when needed.
- */
- $image_content_id=$email_message->GetPartContentID($image_part);
- /*
- * Many related file parts may be embedded in the message.
- */
- $image=array(
- "FileName"=>"http://www.mysite.com/images/voucher_header.jpg",
- "Content-Type"=>"automatic/name",
- "Disposition"=>"inline",
- );
- $email_message->CreateFilePart($image,$background_image_part);
- $background_image_content_id="cid:".$email_message->GetPartContentID($background_image_part);
- $html_message="<html>
- <head>
- <title>$subject</title>
- <style type=\"text/css\"><!--
- body{
- margin:0px;
- padding:0px;
- }
- --></style>
- </head>
- <body>";
- $html_message.='<table background="'.$background_image_content_id.'" style="background-repeat:no-repeat;color: black ;font-family:Calibri;background-color: #FFFFFF;background-repeat:no-repeat;border:1px solid #000;" width="1000px" border="0" cellspacing="0" cellpadding="0" align="left">
- <tr>
- <td align="center" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0" style="padding-left:10px;padding-bottom:20px;">
- <tr>
- <td align="left" valign="top"> </td>
- <td align="left" valign="top"> </td>
- <td height="140px" colspan="2" align="center" valign="bottom" style="font-size:40px;"><b>GUEST VOUCHER</b></td>
- </tr>
- <tr>
- <td align="left" valign="top"> </td>
- <td align="left" valign="top"> </td>
- <td colspan="2"> </td>
- </tr>
- <tr>
- <td height="80px" colspan="4" align="left" valign="top"> </td>
- </tr>
- <tr>
- <td height="40" align="left" valign="top">Package</td>
- <td align="left" valign="top">GF456</td>
- <td align="left" valign="top">Arrival</td>
- <td align="left" valign="top">16-05-2011</td>
- </tr>
- <tr>
- <td height="40" align="left" valign="top">RefNo</td>
- <td align="left" valign="top">GKR459DK</td>
- <td align="left" valign="top">Departure</td>
- <td align="left" valign="top">18-05-2011</td>
- </tr>
- <tr>
- <td height="40" align="left" valign="top">Customer Name</td>
- <td align="left" valign="top">VIJAY ANAND</td>
- <td align="left" valign="top">Check in</td>
- <td align="left" valign="top">10:00hrs</td>
- </tr>
- <tr>
- <td height="40" align="left" valign="top">Member</td>
- <td align="left" valign="top">GUEST</td>
- <td align="left" valign="top">No of Nights</td>
- <td align="left" valign="top">2</td>
- </tr>
- <tr>
- <td height="40" align="left" valign="top">COUNTRY</td>
- <td align="left" valign="top">INDIA</td>
- <td align="left" valign="top">Booked date</td>
- <td align="left" valign="top">15-05-2011</td>
- </tr>
- <tr>
- <td height="40" align="left" valign="top">Hotel Name</td>
- <td align="left" valign="top">HOTEL NAME</td>
- <td align="left" valign="top"> </td>
- <td align="left" valign="top"> </td>
- </tr>
- <tr>
- <td height="40" align="left" valign="top">Hotel Address</td>
- <td colspan="3" align="left" valign="top">STREET NAME, CITY</td>
- </tr>
- <tr>
- <td height="40" colspan="4" align="left" valign="top"><hr></td>
- </tr>
- <tr>
- <td colspan="4" align="left" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0">
- <tr>
- <td height="30" align="left" valign="top">Room No</td>
- <td align="left" valign="top">Room Type</td>
- <td align="left" valign="top">Extra beds</td>
- <td align="left" valign="top">Breakfast</td>
- </tr>
- <tr>
- <td align="left" valign="top">1</td>
- <td align="left" valign="top">SINGLE</td>
- <td align="left" valign="top">NO</td>
- <td align="left" valign="top">YES</td>
- </tr></table></td>
- </tr>
- <tr>
- <td height="40" colspan="4" align="left" valign="top"><hr></td>
- </tr>
- <tr>
- <td colspan="2" align="left" valign="top">Remarks</td>
- <td colspan="2" align="left" valign="top">Customer Support Center 24/7</td>
- </tr>
- <tr>
- <td colspan="2" align="left" valign="top">All special request are subject to availability upon arrival</td>
- <td colspan="2" align="left" valign="top">http://www.mysite.com/customersupport.html</td>
- </tr>
- <tr>
- <td colspan="4" align="left" valign="top"> </td>
- </tr>
- <tr>
- <td colspan="4" align="left" valign="top">NOTES</td>
- </tr>
- <tr>
- <td colspan="4" align="left" valign="top">- IMPORTANT :
- - The total price for this booking does not include mini-bar items, telephone usage, laundry service, etc. If applicable, the hotel will bill you directly. <br>
- - In cases where Breakfast is included with the room rate, please note that hotels may charge extra for children travelling with their parents. <br>
- Additional guest requesting extra beds are required to pay for breakfast. If appicable, the hotel will bill you directly. </td>
- </tr>
- <tr>
- <td height="70" colspan="4" align="left" valign="top"><img src=\'cid:'.$image_content_id.'\'></td>
- </tr>
- </table></td>
- </tr>
- </table>
- </body>
- </html>';
- $email_message->CreateQuotedPrintableHTMLPart($html_message,"",$html_part);
- /*
- * It is strongly recommended that when you send HTML messages,
- * also provide an alternative text version of HTML page,
- * even if it is just to say that the message is in HTML,
- * because more and more people tend to delete HTML only
- * messages assuming that HTML messages are spam.
- */
- $text_message="This is an HTML message. Please use an HTML capable mail program to read this message.";
- $email_message->CreateQuotedPrintableTextPart($email_message->WrapText($text_message),"",$text_part);
- /*
- * Multiple alternative parts are gathered in multipart/alternative parts.
- * It is important that the fanciest part, in this case the HTML part,
- * is specified as the last part because that is the way that HTML capable
- * mail programs will show that part and not the text version part.
- */
- $alternative_parts=array(
- $text_part,
- $html_part
- );
- $email_message->CreateAlternativeMultipart($alternative_parts,$alternative_part);
- /*
- * All related parts are gathered in a single multipart/related part.
- */
- $related_parts=array(
- $alternative_part,
- $image_part,
- $background_image_part
- );
- $email_message->AddRelatedMultipart($related_parts);
- /*
- * The message is now ready to be assembled and sent.
- * Notice that most of the functions used before this point may fail due to
- * programming errors in your script. You may safely ignore any errors until
- * the message is sent to not bloat your scripts with too much error checking.
- */
- $error=$email_message->Send();
- /*
- if(strcmp($error,""))
- echo "Error: $error\n";
- else
- echo "Message sent to $to_name\n";
- */
- ?>
since php file cannot be attached i save it as a .txt file.
Thanks.
vijay