Jump to content

bodyfeelings

Members
  • Content count

    71
  • Joined

  • Last visited

Everything posted by bodyfeelings

  1. bodyfeelings

    PayPal_Shopping_Cart_IPN

    OK here is the stuff from checkout_process.php // lets start with the email confirmation $email_order = STORE_NAME . "\n" . EMAIL_SEPARATOR . "\n" . EMAIL_TEXT_ORDER_NUMBER . ' ' . $insert_id . "\n" . EMAIL_TEXT_DATE_ORDERED . ' ' . strftime(DATE_FORMAT_LONG) . "\n" . EMAIL_TEXT_IP . ' ' . $ip . ' ' . $order->customer['email_address'] . "\n" . EMAIL_TEXT_INVOICE_URL . ' ' . tep_href_link(FILENAME_ACCOUNT_HISTORY_INFO, 'order_id=' . $insert_id, 'SSL', false) . "\n\n"; if ($order->info['comments']) { $email_order .= tep_db_output($order->info['comments']) . "\n\n"; } $email_order .= EMAIL_TEXT_PRODUCTS . "\n" . EMAIL_SEPARATOR . "\n" . $products_ordered . EMAIL_SEPARATOR . "\n"; for ($i=0, $n=sizeof($order_totals); $i<$n; $i++) { $email_order .= strip_tags($order_totals[$i]['title']) . ' ' . strip_tags($order_totals[$i]['text']) . "\n"; } if ($order->content_type != 'virtual') { $email_order .= "\n" . EMAIL_TEXT_DELIVERY_ADDRESS . "\n" . EMAIL_SEPARATOR . "\n" . tep_address_label($customer_id, $sendto, 0, '', "\n") . "\n"; } $email_order .= "\n" . EMAIL_TEXT_BILLING_ADDRESS . "\n" . EMAIL_SEPARATOR . "\n" . tep_address_label($customer_id, $billto, 0, '', "\n") . "\n\n"; if (is_object($$payment)) { $email_order .= EMAIL_TEXT_PAYMENT_METHOD . "\n" . EMAIL_SEPARATOR . "\n"; $payment_class = $$payment; $email_order .= $payment_class->title . "\n\n"; if ($payment_class->email_footer) { $email_order .= $payment_class->email_footer . "\n\n"; } } tep_mail($order->customer['firstname'] . ' ' . $order->customer['lastname'], $order->customer['email_address'], EMAIL_TEXT_SUBJECT, $email_order, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS); // send emails to other people if (SEND_EXTRA_ORDER_EMAILS_TO != '') { tep_mail('', SEND_EXTRA_ORDER_EMAILS_TO, EMAIL_TEXT_SUBJECT, $email_order, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS); } The IP is in the same file from this code // ADDED BY BURT if (getenv('HTTP_X_FORWARDED_FOR')) { $ip=getenv('HTTP_X_FORWARDED_FOR'); } else { $ip=getenv('REMOTE_ADDR'); } // END BURT OK and here is the code from application_top.php // include the mail classes require(DIR_WS_CLASSES . 'mime.php'); require(DIR_WS_CLASSES . 'email.php'); Thats all Here is the mime.php <?php /* $Id: mime.php,v 1.8 2003/06/17 17:29:44 dgw_ Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2003 osCommerce mime.php - a class to assist in building mime-HTML eMails The original class was made by Richard Heyes <richard@phpguru.org> and can be found here: http://www.phpguru.org Renamed and Modified by Jan Wildeboer for osCommerce */ class mime { var $_encoding; var $_subparts; var $_encoded; var $_headers; var $_body; /** * Constructor. * * Sets up the object. * * @param $body - The body of the mime part if any. * @param $params - An associative array of parameters: * content_type - The content type for this part eg multipart/mixed * encoding - The encoding to use, 7bit, base64, or quoted-printable * cid - Content ID to apply * disposition - Content disposition, inline or attachment * dfilename - Optional filename parameter for content disposition * description - Content description * @access public */ function mime($body, $params = '') { if ($params == '') $params = array(); // Make sure we use the correct linfeed sequence if (EMAIL_LINEFEED == 'CRLF') { $this->lf = "\r\n"; } else { $this->lf = "\n"; } reset($params); while (list($key, $value) = each($params)) { switch ($key) { case 'content_type': $headers['Content-Type'] = $value . (isset($charset) ? '; charset="' . $charset . '"' : ''); break; case 'encoding': $this->_encoding = $value; $headers['Content-Transfer-Encoding'] = $value; break; case 'cid': $headers['Content-ID'] = '<' . $value . '>'; break; case 'disposition': $headers['Content-Disposition'] = $value . (isset($dfilename) ? '; filename="' . $dfilename . '"' : ''); break; case 'dfilename': if (isset($headers['Content-Disposition'])) { $headers['Content-Disposition'] .= '; filename="' . $value . '"'; } else { $dfilename = $value; } break; case 'description': $headers['Content-Description'] = $value; break; case 'charset': if (isset($headers['Content-Type'])) { $headers['Content-Type'] .= '; charset="' . $value . '"'; } else { $charset = $value; } break; } } // Default content-type if (!isset($_headers['Content-Type'])) { $_headers['Content-Type'] = 'text/plain'; } // Assign stuff to member variables $this->_encoded = array(); /* HPDL PHP3 */ // $this->_headers =& $headers; $this->_headers = $headers; $this->_body = $body; } /** * encode() * * Encodes and returns the email. Also stores * it in the encoded member variable * * @return An associative array containing two elements, * body and headers. The headers element is itself * an indexed array. * @access public */ function encode() { /* HPDL PHP3 */ // $encoded =& $this->_encoded; $encoded = $this->_encoded; if (tep_not_null($this->_subparts)) { $boundary = '=_' . md5(uniqid(tep_rand()) . microtime()); $this->_headers['Content-Type'] .= ';' . $this->lf . chr(9) . 'boundary="' . $boundary . '"'; // Add body parts to $subparts for ($i=0; $i<count($this->_subparts); $i++) { $headers = array(); /* HPDL PHP3 */ // $tmp = $this->_subparts[$i]->encode(); $_subparts = $this->_subparts[$i]; $tmp = $_subparts->encode(); reset($tmp['headers']); while (list($key, $value) = each($tmp['headers'])) { $headers[] = $key . ': ' . $value; } $subparts[] = implode($this->lf, $headers) . $this->lf . $this->lf . $tmp['body']; } $encoded['body'] = '--' . $boundary . $this->lf . implode('--' . $boundary . $this->lf, $subparts) . '--' . $boundary.'--' . $this->lf; } else { $encoded['body'] = $this->_getEncodedData($this->_body, $this->_encoding) . $this->lf; } // Add headers to $encoded /* HPDL PHP3 */ // $encoded['headers'] =& $this->_headers; $encoded['headers'] = $this->_headers; return $encoded; } /** * &addSubPart() * * Adds a subpart to current mime part and returns * a reference to it * * @param $body The body of the subpart, if any. * @param $params The parameters for the subpart, same * as the $params argument for constructor. * @return A reference to the part you just added. It is * crucial if using multipart/* in your subparts that * you use =& in your script when calling this function, * otherwise you will not be able to add further subparts. * @access public */ /* HPDL PHP3 */ // function &addSubPart($body, $params) { function addSubPart($body, $params) { $this->_subparts[] = new mime($body, $params); return $this->_subparts[count($this->_subparts) - 1]; } /** * _getEncodedData() * * Returns encoded data based upon encoding passed to it * * @param $data The data to encode. * @param $encoding The encoding type to use, 7bit, base64, * or quoted-printable. * @access private */ function _getEncodedData($data, $encoding) { switch ($encoding) { case '7bit': return $data; break; case 'quoted-printable': return $this->_quotedPrintableEncode($data); break; case 'base64': return rtrim(chunk_split(base64_encode($data), 76, $this->lf)); break; } } /** * quoteadPrintableEncode() * * Encodes data to quoted-printable standard. * * @param $input The data to encode * @param $line_max Optional max line length. Should * not be more than 76 chars * * @access private */ function _quotedPrintableEncode($input , $line_max = 76) { $lines = preg_split("/\r\n|\r|\n/", $input); $eol = $this->lf; $escape = '='; $output = ''; while (list(, $line) = each($lines)) { $linlen = strlen($line); $newline = ''; for ($i = 0; $i < $linlen; $i++) { $char = substr($line, $i, 1); $dec = ord($char); // convert space at eol only if ( ($dec == 32) && ($i == ($linlen - 1)) ) { $char = '=20'; } elseif ($dec == 9) { // Do nothing if a tab. } elseif ( ($dec == 61) || ($dec < 32 ) || ($dec > 126) ) { $char = $escape . strtoupper(sprintf('%02s', dechex($dec))); } // $this->lf is not counted if ((strlen($newline) + strlen($char)) >= $line_max) { // soft line break; " =\r\n" is okay $output .= $newline . $escape . $eol; $newline = ''; } $newline .= $char; } $output .= $newline . $eol; } // Don't want last crlf $output = substr($output, 0, -1 * strlen($eol)); return $output; } } ?> And here is the email.php <?php /* $Id: email.php,v 1.12 2003/06/17 17:29:44 dgw_ Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2003 osCommerce Released under the GNU General Public License mail.php - a class to assist in building mime-HTML eMails The original class was made by Richard Heyes <richard@phpguru.org> and can be found here: http://www.phpguru.org Renamed and Modified by Jan Wildeboer for osCommerce */ class email { var $html; var $text; var $output; var $html_text; var $html_images; var $image_types; var $build_params; var $attachments; var $headers; function email($headers = '') { if ($headers == '') $headers = array(); $this->html_images = array(); $this->headers = array(); if (EMAIL_LINEFEED == 'CRLF') { $this->lf = "\r\n"; } else { $this->lf = "\n"; } /** * If you want the auto load functionality * to find other mime-image/file types, add the * extension and content type here. */ $this->image_types = array('gif' => 'image/gif', 'jpg' => 'image/jpeg', 'jpeg' => 'image/jpeg', 'jpe' => 'image/jpeg', 'bmp' => 'image/bmp', 'png' => 'image/png', 'tif' => 'image/tiff', 'tiff' => 'image/tiff', 'swf' => 'application/x-shockwave-flash'); $this->build_params['html_encoding'] = 'quoted-printable'; $this->build_params['text_encoding'] = '7bit'; $this->build_params['html_charset'] = constant('CHARSET'); $this->build_params['text_charset'] = constant('CHARSET'); $this->build_params['text_wrap'] = 998; /** * Make sure the MIME version header is first. */ $this->headers[] = 'MIME-Version: 1.0'; reset($headers); while (list(,$value) = each($headers)) { if (tep_not_null($value)) { $this->headers[] = $value; } } } /** * This function will read a file in * from a supplied filename and return * it. This can then be given as the first * argument of the the functions * add_html_image() or add_attachment(). */ function get_file($filename) { $return = ''; if ($fp = fopen($filename, 'rb')) { while (!feof($fp)) { $return .= fread($fp, 1024); } fclose($fp); return $return; } else { return false; } } /** * Function for extracting images from * html source. This function will look * through the html code supplied by add_html() * and find any file that ends in one of the * extensions defined in $obj->image_types. * If the file exists it will read it in and * embed it, (not an attachment). * * Function contributed by Dan Allen */ function find_html_images($images_dir) { // Build the list of image extensions while (list($key, ) = each($this->image_types)) { $extensions[] = $key; } preg_match_all('/"([^"]+\.(' . implode('|', $extensions).'))"/Ui', $this->html, $images); for ($i=0; $i<count($images[1]); $i++) { if (file_exists($images_dir . $images[1][$i])) { $html_images[] = $images[1][$i]; $this->html = str_replace($images[1][$i], basename($images[1][$i]), $this->html); } } if (tep_not_null($html_images)) { // If duplicate images are embedded, they may show up as attachments, so remove them. $html_images = array_unique($html_images); sort($html_images); for ($i=0; $i<count($html_images); $i++) { if ($image = $this->get_file($images_dir . $html_images[$i])) { $content_type = $this->image_types[substr($html_images[$i], strrpos($html_images[$i], '.') + 1)]; $this->add_html_image($image, basename($html_images[$i]), $content_type); } } } } /** * Adds plain text. Use this function * when NOT sending html email */ function add_text($text = '') { $this->text = tep_convert_linefeeds(array("\r\n", "\n", "\r"), $this->lf, $text); } /** * Adds a html part to the mail. * Also replaces image names with * content-id's. */ function add_html($html, $text = NULL, $images_dir = NULL) { $this->html = tep_convert_linefeeds(array("\r\n", "\n", "\r"), '<br>', $html); $this->html_text = tep_convert_linefeeds(array("\r\n", "\n", "\r"), $this->lf, $text); if (isset($images_dir)) $this->find_html_images($images_dir); } /** * Adds an image to the list of embedded * images. */ function add_html_image($file, $name = '', $c_type='application/octet-stream') { $this->html_images[] = array('body' => $file, 'name' => $name, 'c_type' => $c_type, 'cid' => md5(uniqid(time()))); } /** * Adds a file to the list of attachments. */ function add_attachment($file, $name = '', $c_type='application/octet-stream', $encoding = 'base64') { $this->attachments[] = array('body' => $file, 'name' => $name, 'c_type' => $c_type, 'encoding' => $encoding); } /** * Adds a text subpart to a mime_part object */ /* HPDL PHP3 */ // function &add_text_part(&$obj, $text) { function add_text_part(&$obj, $text) { $params['content_type'] = 'text/plain'; $params['encoding'] = $this->build_params['text_encoding']; $params['charset'] = $this->build_params['text_charset']; if (is_object($obj)) { return $obj->addSubpart($text, $params); } else { return new mime($text, $params); } } /** * Adds a html subpart to a mime_part object */ /* HPDL PHP3 */ // function &add_html_part(&$obj) { function add_html_part(&$obj) { $params['content_type'] = 'text/html'; $params['encoding'] = $this->build_params['html_encoding']; $params['charset'] = $this->build_params['html_charset']; if (is_object($obj)) { return $obj->addSubpart($this->html, $params); } else { return new mime($this->html, $params); } } /** * Starts a message with a mixed part */ /* HPDL PHP3 */ // function &add_mixed_part() { function add_mixed_part() { $params['content_type'] = 'multipart/mixed'; return new mime('', $params); } /** * Adds an alternative part to a mime_part object */ /* HPDL PHP3 */ // function &add_alternative_part(&$obj) { function add_alternative_part(&$obj) { $params['content_type'] = 'multipart/alternative'; if (is_object($obj)) { return $obj->addSubpart('', $params); } else { return new mime('', $params); } } /** * Adds a html subpart to a mime_part object */ /* HPDL PHP3 */ // function &add_related_part(&$obj) { function add_related_part(&$obj) { $params['content_type'] = 'multipart/related'; if (is_object($obj)) { return $obj->addSubpart('', $params); } else { return new mime('', $params); } } /** * Adds an html image subpart to a mime_part object */ /* HPDL PHP3 */ // function &add_html_image_part(&$obj, $value) { function add_html_image_part(&$obj, $value) { $params['content_type'] = $value['c_type']; $params['encoding'] = 'base64'; $params['disposition'] = 'inline'; $params['dfilename'] = $value['name']; $params['cid'] = $value['cid']; $obj->addSubpart($value['body'], $params); } /** * Adds an attachment subpart to a mime_part object */ /* HPDL PHP3 */ // function &add_attachment_part(&$obj, $value) { function add_attachment_part(&$obj, $value) { $params['content_type'] = $value['c_type']; $params['encoding'] = $value['encoding']; $params['disposition'] = 'attachment'; $params['dfilename'] = $value['name']; $obj->addSubpart($value['body'], $params); } /** * Builds the multipart message from the * list ($this->_parts). $params is an * array of parameters that shape the building * of the message. Currently supported are: * * $params['html_encoding'] - The type of encoding to use on html. Valid options are * "7bit", "quoted-printable" or "base64" (all without quotes). * 7bit is EXPRESSLY NOT RECOMMENDED. Default is quoted-printable * $params['text_encoding'] - The type of encoding to use on plain text Valid options are * "7bit", "quoted-printable" or "base64" (all without quotes). * Default is 7bit * $params['text_wrap'] - The character count at which to wrap 7bit encoded data. * Default this is 998. * $params['html_charset'] - The character set to use for a html section. * Default is iso-8859-1 * $params['text_charset'] - The character set to use for a text section. * - Default is iso-8859-1 */ /* HPDL PHP3 */ // function build_message($params = array()) { function build_message($params = '') { if ($params == '') $params = array(); if (count($params) > 0) { reset($params); while(list($key, $value) = each($params)) { $this->build_params[$key] = $value; } } if (tep_not_null($this->html_images)) { reset($this->html_images); while (list(,$value) = each($this->html_images)) { $this->html = str_replace($value['name'], 'cid:' . $value['cid'], $this->html); } } $null = NULL; $attachments = ((tep_not_null($this->attachments)) ? true : false); $html_images = ((tep_not_null($this->html_images)) ? true : false); $html = ((tep_not_null($this->html)) ? true : false); $text = ((tep_not_null($this->text)) ? true : false); switch (true) { case (($text == true) && ($attachments == false)): /* HPDL PHP3 */ // $message =& $this->add_text_part($null, $this->text); $message = $this->add_text_part($null, $this->text); break; case (($text == false) && ($attachments == true) && ($html == false)): /* HPDL PHP3 */ // $message =& $this->add_mixed_part(); $message = $this->add_mixed_part(); for ($i=0; $i<count($this->attachments); $i++) { $this->add_attachment_part($message, $this->attachments[$i]); } break; case (($text == true) && ($attachments == true)): /* HPDL PHP3 */ // $message =& $this->add_mixed_part(); $message = $this->add_mixed_part(); $this->add_text_part($message, $this->text); for ($i=0; $i<count($this->attachments); $i++) { $this->add_attachment_part($message, $this->attachments[$i]); } break; case (($html == true) && ($attachments == false) && ($html_images == false)): if (tep_not_null($this->html_text)) { /* HPDL PHP3 */ // $message =& $this->add_alternative_part($null); $message = $this->add_alternative_part($null); $this->add_text_part($message, $this->html_text); $this->add_html_part($message); } else { /* HPDL PHP3 */ // $message =& $this->add_html_part($null); $message = $this->add_html_part($null); } break; case (($html == true) && ($attachments == false) && ($html_images == true)): if (tep_not_null($this->html_text)) { /* HPDL PHP3 */ // $message =& $this->add_alternative_part($null); $message = $this->add_alternative_part($null); $this->add_text_part($message, $this->html_text); /* HPDL PHP3 */ // $related =& $this->add_related_part($message); $related = $this->add_related_part($message); } else { /* HPDL PHP3 */ // $message =& $this->add_related_part($null); // $related =& $message; $message = $this->add_related_part($null); $related = $message; } $this->add_html_part($related); for ($i=0; $i<count($this->html_images); $i++) { $this->add_html_image_part($related, $this->html_images[$i]); } break; case (($html == true) && ($attachments == true) && ($html_images == false)): /* HPDL PHP3 */ // $message =& $this->add_mixed_part(); $message = $this->add_mixed_part(); if (tep_not_null($this->html_text)) { /* HPDL PHP3 */ // $alt =& $this->add_alternative_part($message); $alt = $this->add_alternative_part($message); $this->add_text_part($alt, $this->html_text); $this->add_html_part($alt); } else { $this->add_html_part($message); } for ($i=0; $i<count($this->attachments); $i++) { $this->add_attachment_part($message, $this->attachments[$i]); } break; case (($html == true) && ($attachments == true) && ($html_images == true)): /* HPDL PHP3 */ // $message =& $this->add_mixed_part(); $message = $this->add_mixed_part(); if (tep_not_null($this->html_text)) { /* HPDL PHP3 */ // $alt =& $this->add_alternative_part($message); $alt = $this->add_alternative_part($message); $this->add_text_part($alt, $this->html_text); /* HPDL PHP3 */ // $rel =& $this->add_related_part($alt); $rel = $this->add_related_part($alt); } else { /* HPDL PHP3 */ // $rel =& $this->add_related_part($message); $rel = $this->add_related_part($message); } $this->add_html_part($rel); for ($i=0; $i<count($this->html_images); $i++) { $this->add_html_image_part($rel, $this->html_images[$i]); } for ($i=0; $i<count($this->attachments); $i++) { $this->add_attachment_part($message, $this->attachments[$i]); } break; } if ( (isset($message)) && (is_object($message)) ) { $output = $message->encode(); $this->output = $output['body']; reset($output['headers']); while (list($key, $value) = each($output['headers'])) { $headers[] = $key . ': ' . $value; } $this->headers = array_merge($this->headers, $headers); return true; } else { return false; } } /** * Sends the mail. */ function send($to_name, $to_addr, $from_name, $from_addr, $subject = '', $headers = '') { $to = (($to_name != '') ? '"' . $to_name . '" <' . $to_addr . '>' : $to_addr); $from = (($from_name != '') ? '"' . $from_name . '" <' . $from_addr . '>' : $from_addr); if (is_string($headers)) { $headers = explode($this->lf, trim($headers)); } for ($i=0; $i<count($headers); $i++) { if (is_array($headers[$i])) { for ($j=0; $j<count($headers[$i]); $j++) { if ($headers[$i][$j] != '') { $xtra_headers[] = $headers[$i][$j]; } } } if ($headers[$i] != '') { $xtra_headers[] = $headers[$i]; } } if (!isset($xtra_headers)) { $xtra_headers = array(); } if (EMAIL_TRANSPORT == 'smtp') { return mail($to_addr, $subject, $this->output, 'From: ' . $from . $this->lf . 'To: ' . $to . $this->lf . implode($this->lf, $this->headers) . $this->lf . implode($this->lf, $xtra_headers)); } else { return mail($to, $subject, $this->output, 'From: '.$from.$this->lf.implode($this->lf, $this->headers).$this->lf.implode($this->lf, $xtra_headers)); } } /** * Use this method to return the email * in message/rfc822 format. Useful for * adding an email to another email as * an attachment. there's a commented * out example in example.php. * * string get_rfc822(string To name, * string To email, * string From name, * string From email, * [string Subject, * string Extra headers]) */ function get_rfc822($to_name, $to_addr, $from_name, $from_addr, $subject = '', $headers = '') { // Make up the date header as according to RFC822 $date = 'Date: ' . date('D, d M y H:i:s'); $to = (($to_name != '') ? 'To: "' . $to_name . '" <' . $to_addr . '>' : 'To: ' . $to_addr); $from = (($from_name != '') ? 'From: "' . $from_name . '" <' . $from_addr . '>' : 'From: ' . $from_addr); if (is_string($subject)) { $subject = 'Subject: ' . $subject; } if (is_string($headers)) { $headers = explode($this->lf, trim($headers)); } for ($i=0; $i<count($headers); $i++) { if (is_array($headers[$i])) { for ($j=0; $j<count($headers[$i]); $j++) { if ($headers[$i][$j] != '') { $xtra_headers[] = $headers[$i][$j]; } } } if ($headers[$i] != '') { $xtra_headers[] = $headers[$i]; } } if (!isset($xtra_headers)) { $xtra_headers = array(); } $headers = array_merge($this->headers, $xtra_headers); return $date . $this->lf . $from . $this->lf . $to . $this->lf . $subject . $this->lf . implode($this->lf, $headers) . $this->lf . $this->lf . $this->output; } } ?> Forgotten anything ?? Sorry for the long posting :ph34r:
  2. bodyfeelings

    PayPal_Shopping_Cart_IPN

    I checked the version and everything is ok. It's 2.2 and also the files in catalog/includes/modules/payment/paypal are the right ones. I compared evereything with "Beyond Compare" Can I influence the value of that ? And why dose the Mailproblem only comes up if I have a PayPal payment ?! If I make an order with an other paymenttype all the mails are correct. The mails were also correct with the version 1.7 (but I think that version have different mailhandling because it is using the osc mailsettings and don't have a own one) :unsure: :(
  3. bodyfeelings

    PayPal_Shopping_Cart_IPN

    Hmmm, i#ve done everything and the entry was missing before and after reinstallation. The only thing I have in the configuration is MODULE_PAYMENT_PAYPAL_STORE_LOGO but not MODULE_PAYMENT_PAYPAL_STORE_LOGO_IMAGE_NAME And the value of MODULE_PAYMENT_PAYPAL_STORE_LOGO is oscommerce.gif which is my storelogo.
  4. bodyfeelings

    PayPal_Shopping_Cart_IPN

    OK, now back again to the mailproblem. I have tested it with and without html and in both cases the copy of the mail to the webmaster is well formated and the importand message to the customer has the "backgroundinfos" on the top of the mail. here again an exampel of a mail. Return-Path: <wwwrun@server02.rns24.de> Received: from server02.rns24.de ([62.146.91.106]) by mailin04.sul.t-online.de with esmtp id 1BIoW1-1AG0nY0; Wed, 28 Apr 2004 14:50:17 +0200 Received: (from wwwrun@localhost) by server02.rns24.de (8.11.6/8.11.6/SuSE Linux 0.5) id i3SCoOk27041; Wed, 28 Apr 2004 14:50:24 +0200 Date: Wed, 28 Apr 2004 14:50:24 +0200 Message-Id: <200404281250.i3SCoOk27041@server02.rns24.de> To: " " <matthias.fahrig@t-online.de> Subject: Bestellung From: "Bodyfeelings" <wxxxxter@boxxxxx.de> MIME-Version: 1.0 X-Mailer: osCommerce Mailer Content-Type: multipart/alternative; boundary="=_d304acc5a098a41f213de9de2c8df770" X-Seen: false X-TOI-SPAM: n;0;2004-04-28T12:50:23Z X-NAS-Classification: 0 X-NAS-MessageID: 11888 X-NAS-Validation: {13A0351C-8EF3-40C3-BF9A-E27FFEDBCB00} --=_d304acc5a098a41f213de9de2c8df770 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Bodyfeelings ------------------------------------------------------ Bestellnummer: 265 Detailierte Bestellübersicht: http://www.bodyfeelings.de/catalog/account_history_info.php/order_id/265 Bestelldatum: Mittwoch, 28. April 2004 Artikel ------------------------------------------------------ 6 x Party-Overall (Angebot) (r201650) = 120,00EUR Gr??e lt. Gr??entabelle M ------------------------------------------------------ Zwischensumme: 120,00EUR Versandkosten: 0,00EUR Summe: 120,00EUR Lieferanschrift ------------------------------------------------------ Matthias Fxxxxx Flixxxxxx. 14 88886 Gxxxx Deutschland Rechnungsanschrift ------------------------------------------------------ Matthias Fxxxx Flixxxxxrx. 14 88888 Gxxxx Deutschland Zahlungsweise ------------------------------------------------------ PayPal --=_d304acc5a098a41f213de9de2c8df770 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Bodyfeelings<br>------------------------------------------------------<br>B= estellnummer: 265<br>Detailierte Bestellübersicht: http://www.bodyfeel= ings.de/catalog/account_history_info.php/order_id/265<br>Bestelldatum: Mitt= woch, 28. April 2004<br><br>Artikel<br>------------------------------------= ------------------<br>6 x Party-Overall (Angebot) (r201650) =3D 120,00EUR<b= r> Gr=F6=DFe lt. Gr=F6=DFentabelle M<br>-----------------------------------= -------------------<br>Zwischensumme: 120,00EUR<br>Versandkosten: 0,00EUR<b= r>Summe: 120,00EUR<br><br>Lieferanschrift<br>------------------------------= ------------------------<br>Matthias F<br>Meine Strasse. 14<br>88886 City<br>Deutschland<br><br>Rechnungsanschrift<br>----------------------------= --------------------------<br>Matthias F<br>Mystreet. 14<br>86888 Gr= nen<br>Deutschland<br><br>Zahlungsweise<br>-------------------------------= -----------------------<br>PayPal<br><br> --=_d304acc5a098a41f213de9de2c8df770-- And it makes no different sending the with or without html. It looks the same.
  5. bodyfeelings

    PayPal_Shopping_Cart_IPN

    Hallo Gregory, that dose not solve my Problem: After changing the code I looked at the broken link again. That's what I can see there. http://www.mydomain.de/catalog/images/MODU...LOGO_IMAGE_NAME The variable MODULE_PAYMENT_PAYPAL_STORE_LOGO_IMAGE_NAME is not set. Perhaps that is not only the problem for this silly picture... it is perhaps the problem of my html mail too.
  6. bodyfeelings

    PayPal_Shopping_Cart_IPN

    OK it's me again. With my malproblem I don't find a solution I need help !? But what I have now found is that on the process site the following has a broken link as result. <div><?php $logo = (MODULE_PAYMENT_PAYPAL_STORE_LOGO_IMAGE_NAME) ? MODULE_PAYMENT_PAYPAL_STORE_LOGO_IMAGE_NAME : STORE_LOGO; echo tep_image( DIR_WS_IMAGES . $logo ); ?></div> But the image is existing. If I look at the settings of the broken link the varibale "MODULE_PAYMENT_PAYPAL_STORE_LOGO_IMAGE_NAME" is not filled with the name..... where could I look after the problem ??
  7. bodyfeelings

    PayPal_Shopping_Cart_IPN

    Uups... that was my fault. I've done the step but between the two {. OK That problem is solved. Now back to my other problems with the mail and missing varibales. I have installed teh contribution Order IP Adress. IP Adress Collector Contribution From this contribution I get the IP of the customer. But if I make an order over PP IPN the IP is missing. It's the same problem with my mail where I send the customer IP adress within. The varibale is not existing in the new files from PP IPN. I'm not good enogh in php to solve this problem ..... I think that there must be something, what goes wrong also with the mail to the customers ? I will make another test an change my settings in the admin from html mail to false. But that only can be a workaorund not a bugfix.
  8. bodyfeelings

    PayPal_Shopping_Cart_IPN

    No I deleted an order I have made over PayPal. And than the content of the tabel is not deleted. The IPN - you know ? Normaly if I delete an order the related content in other tables will be deleted too. Yes that's write... but there must be a different, because without the contribution all mails were ok. Could it be, that one file that is necessary is not included ore linked ? I had the IP adress of the customer in my mails. No the varibale is existing anymore. It is no problem with the original checkout_process. I assume that there are a problem with missing not global variables. But I'm not a PHP programmer !? But anyway.... it looks not very good in the customers mail when there is the all the text in the body of the mail which normaly is not visible.
  9. bodyfeelings

    PayPal_Shopping_Cart_IPN

    The problem with the mails to the customer is not solved until now.... I think the best is to try to use the original checkout_process.php instad of the checkout_update.php. But during the testing I deleted some orders made over PP IPN and I saw, that the table for "PayPal Instant Payment Notifications" is not deleted.
  10. bodyfeelings

    PayPal_Shopping_Cart_IPN

    No I only changed the content of the mails, but I don't change the settings around that. I also wondering about because the copy of the mail is ok and only the (same) mail send out to the customer is hacked...... Is it not possible to leave the message in it's origainal files an only call them from a new file. In this case checkout_update.php. I know more users changed the mailcontent too and it would be easier for the webmaster of a shop to admin if there are not two places for the mail (depending on payment with paypal or not).
  11. bodyfeelings

    PayPal_Shopping_Cart_IPN

    Yes I made some changes. But why is the mail to the webmaster well formated and the one to the customer not. In that mail of the customer you have something like this: Return-Path: <wwwrun@server02.rns24.de> Received: from server02.rns24.de ([62.146.91.106]) by mailin02.sul.t-online.de with esmtp id 1BIkDF-0jRk9Y0; Wed, 28 Apr 2004 10:14:37 +0200 Received: (from wwwrun@localhost) by server02.rns24.de (8.11.6/8.11.6/SuSE Linux 0.5) id i3S8Eg231084; Wed, 28 Apr 2004 10:14:42 +0200 Date: Wed, 28 Apr 2004 10:14:42 +0200 Message-Id: <200404280814.i3S8Eg231084@server02.xxxxxxxx.de> To: " " <xxxxxxxxxxxxxxx@t-online.de> Subject: Bestellung From: "Bodyfeelings" <xxxxxxxxxx@bodyfeelings.de> MIME-Version: 1.0 X-Mailer: osCommerce Mailer Content-Type: multipart/alternative; boundary="=_b84d948e7e02fb627712cdac11737ce2" X-Seen: false X-TOI-SPAM: n;0;2004-04-28T08:14:53Z X-NAS-Classification: 0 X-NAS-MessageID: 11838 X-NAS-Validation: {13A0351C-8EF3-40C3-BF9A-E27FFEDBCB00} --=_b84d948e7e02fb627712cdac11737ce2 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Bodyfeelings ------------------------------------------------------ Bestellnummer: 260 and so on....
  12. bodyfeelings

    PayPal_Shopping_Cart_IPN

    Thanks... :) I turned off the TestCart and now I get mails: 1. to webmaster NEW ORDER 2. to the defined mailadress a copy of NEW ORDER 3. from PayPal to webmaster 4. from PayPal to the customer 5. And also the Ordermail from OSC to the customer But now the Mail to the customer is in plain text. The Mail to the webmaster from osc ist well formatete. The Mail to the customer contains the information you normaly see if you look at the options and details of a mail. It's not formatet anymore. :o AND The content of the mail is not the same like before. Is there a new place where the mail is generated ? I have changed the mails which are send out to the customer . Perhaps you can help here too, because that is also a new problem since I#ve installed the contribution.
  13. bodyfeelings

    PayPal_Shopping_Cart_IPN

    OK I made the test... everything looks ok. I have a resultpage "IPN Test Results" and "Test Complete! " No error is reportet. I get NO mails. But I will try to explain my problem. Normaly I get two mails during the orderprocess. One is: NEW CUSTOMER and the second is a copy of the order. Also I get a copy to the adress I defined in admin where to send a copy of the order. Ok... that the normal way we all know After the installation of the version 2.2 of PP IPN with autoreturn to my page: 1. I have a order in my shop with the status "pending......" 2. I get a mail from paypal, that I have get a payment 3. I get a mail from paypal to my testaccount with the details of my own order But I don't get the order to the shopowner emailadress and i don't get the mail to my customeradress. Perhaps you can help better now.... ??!! Thanks
  14. bodyfeelings

    PayPal_Shopping_Cart_IPN

    Hallo and first of all: thanks for such a great contribution. I installed the 2.2 becuase I have had some problems with outoreturn to my shop with the 1.7. I thoght I can solve tohose problems with the 2.2. I think the out return from paypal to my shop is ok now.... BUT now OSC dose not send out the Mail to the customer with his orderinformations and I (the webmaster) also get no mail. I only get the paypal mails. Can somebody help me?!
  15. bodyfeelings

    Recover Cart Sales

    Thanks "airlog" It works fine for me.
  16. bodyfeelings

    Recover Cart Sales

    Sorry, but I have the same problem.... Please can somebody upload a new file also in zip format. Thanks
  17. bodyfeelings

    PayPal_Shopping_Cart_IPN

    Hallo together... now I think I need somebody helping me. I've installed the contribution. Fine :) I wantened to test - (with a testorder about 1 cent) but you can't send money to your own account. But thats not realy my problem. I will try to describe my problem: 1. Customer fills the basket 2. Cutomer creates an account in osc 3. Customer goes through the process 3.1 checkout_shipping.php 3.2 checkout_payment.php 3.3 checkout_confirmation.php 4. Now he makes his payment with PayPal and I recaived a mail from paypal with the payment informations 5. NOW the problems starts The customer is returnd to the shop on the site and get's the error that he don't made the cross for accepting the Shoproules (AGB). But that is not the only problem. The customer gets no mail I have no order (the bascet from the customer is still full with the products) because he wwill not redirect to the success site. Also the paypal tabels are not filled in the database. Can somebody help me (would be good if there is somebody speeking german !!) Perhaps I can make a call if i get the telefonnumber as personal message.
  18. bodyfeelings

    PayPal_Shopping_Cart_IPN

    Hallo togehter... I only have a small question :rolleyes: I've installed the contribution and it seems to work. But now I want to test. Is there any way for making a test with paypal without paying paypal for the test.
  19. bodyfeelings

    Recover Cart Sales

    Yes you are right. MS1 don't have a file with the name filenames.php In the version MS1 all the defines are in the application_top.php
  20. bodyfeelings

    Recover Cart Sales

    Hallo, only a small hint for perhaps your next release. If you delete a user from the database and he was already listet on the report site than you will still have an entry but no name. Would be better the entry also will be deleted. I know it's not normal delteing customers, but it happens. Thanks Matthias
  21. bodyfeelings

    Recover Cart Sales

    No it's a stand alone contribution. Download it and wonder about your potential of possible sales B)
  22. bodyfeelings

    Recover Cart Sales

    Hmmm..... now I've testet the report stats_recover_cart_sales.php Why dose the report only shows 1 in examination. I've sent 41 mails on the 26. of november ?? The scart tabel is also filled with 41 records !
  23. bodyfeelings

    Recover Cart Sales

    Aalst :) very good job !!!! It works Thank you very much
  24. bodyfeelings

    Recover Cart Sales

    Hallo Aalst, I will try to answer all your questions: I'm using Osc2.2-MS2 The problem came up with version 1.2 (1.0 was fine) I call my database with localhost on a shared server of my provider rns24.de The Servicer info reports the following: - Linux server02 2.4.21 - Server API Apache - Apache Version Apache/1.3.27 - PHP Version 4.3.2 - APACHE - Max Requests Per Child: 100 - Keep Alive: on - Max Per Connection: 100 - Timeouts Connection: 300 - Keep-Alive: 15 - Server Root /usr/local/apache I have perhaps 20 MB webspace left Hmmm anything else you need ?!
×