Problem z wysyłaniem maili

piotrek@sabak.pl

Avatar: piotrek@sabak.pl

2015-07-22 21:54

Witam,

przejrzałem wszystkie fora ale nie znalazłem rozwiązania. Kontaktowałem się z hostingiem też nić nie zmieniali i funkcja wysyłania meili jest podobno włączona.

Nie działa mi wysyłanie powiadomień o nowym zamówieniu w PA. Czy ktoś mi może podpowiedzieć w którym pliku się to znajduje i może jakaś podpowiedź.

» Quick.Cart v6.x

Piotrek Sabak

marcin_k

Avatar: marcin_k

2015-07-23 07:16

Moze to pomoze http://opensolution.org/problemy-z-wysylaniem-emaili-na-home.pl,pl,1090.html

piotrek@sabak.pl

Avatar: piotrek@sabak.pl

2015-07-23 22:54

Niestety nic to nie dało. Zrobiłem jak w instrukcji ale nadal nic. Dzięki za podpowiedź. Może ktoś się jeszcze znajdzie na tym forum kto miał taki problem i go rozwiązał :/

Piotrek Sabak

selekcjoner

Avatar: selekcjoner

2015-07-24 17:33

Zapytaj ich konkretnie czy działa funkcja mail() ( nie "funkcja wysyłania meili" )
Druga sprawa - czy coś modyfikowałeś, zmieniałeś w plikach?

piotrek@sabak.pl

Avatar: piotrek@sabak.pl

2015-07-24 21:18

Ok, mogę zapytać ale dostałem jasną odpowiedź że nic nie zmieniali w ostatnim czasie z funkcją wysyłania maili. Ja natomiast robiłem szereg różnych zmian w różnych folderach bo głównie bardziej siedzę w css a nie w php :P Zastanawiałem się czy to nie chodzi o kodowanie iso ale wydaję mi się że nie bo cały czas edytuje w dobrym standardzie

Piotrek Sabak

selekcjoner

Avatar: selekcjoner

2015-07-25 10:53

A modyfikowałeś plik templates\default\order-step-3.php ?
W linii około 20 jest funkcja wysyłająca email: sendEmailWithOrderDetails

piotrek@sabak.pl

Avatar: piotrek@sabak.pl

2015-07-25 13:57

Tak zmieniałem w nim trochę ale nie dużo. Nie przypominam sobie abym zmieniał natomiast ten fragment kodu. U mnie wygląda tak:


  
// display order form
  
if( ( $oOrder->checkEmptyBasket( ) === false && isset( $_POST['sOrderSend'] ) && $oOrder->checkFields$_POST ) === true ) || isset( $aOrder ) ){
    
// save and print order
    
if( !isset( $aOrder ) ){
      
$iOrder $oOrder->addOrder$_POST );

      if( !empty( 
$config['orders_email'] ) ){
        
$oOrder->sendEmailWithOrderDetails$iOrder$config['send_customer_order_details'] );
      }

      
$aOrder $oOrder->throwOrder$iOrder );
      
$sOrderProducts $oOrder->listProducts$iOrder );
      
$aUrls throwSiteUrls( );
      
$sOrderUrl $aUrls['sHomeUrl'].$aData['sLinkName'].'&sKey='.$oOrder->throwOrderKey$aOrder );

Piotrek Sabak

selekcjoner

Avatar: selekcjoner

2015-07-25 14:01

Sprawdź czy masz poprawnie wypełnione $config['orders_email'] oraz podaj dokładną wersję skryptu.

piotrek@sabak.pl

Avatar: piotrek@sabak.pl

2015-07-25 14:35

Myśle że jest prawidłowo:


/*
* Start page
*/
$config['orders_email'] = "biuro@ekopustaki.pl";
$config['start_page'] = "29";
$config['rules_page'] = "49";

Piotrek Sabak

piotrek@sabak.pl

Avatar: piotrek@sabak.pl

2015-07-25 14:36

a cały kod to:


<?php 
// More about design modifications - www.opensolution.org/Quick.Cart/docs/?id=en-design
if( !defined'CUSTOMER_PAGE' ) )
  exit;

$bOrderPage true;

require_once 
DIR_SKIN.'_header1.php'// include design of header

if( isset( $aData['sName'] ) && !empty( $sKey ) ){
  
$iOrder $oOrder->findOrder$sKey );
  if( 
is_numeric$iOrder ) ){
    
$aOrder $oOrder->throwOrder$iOrder );
    
$aLangConfig $config;
    include 
str_replace'_'.LANGUAGE.'.php''_'.$aOrder['sLanguage'].'.php'$config['config_lang'] );
    
$aOrder['sComment'] = isset( $aOrder['sComment'] ) ? preg_replace'/\|n\|/''<br />' $aOrder['sComment'] ) : null;
    
$aOrder['sStatus'] = $oOrder->throwStatus$aOrder['iStatus'] );
    
$sOrderProducts $oOrder->listProducts$iOrder );
    unset( 
$aData['sDescriptionFull'] );
    
$config $aLangConfig;
  }
  else{
    
$aData['sName'] = null;
  }
}
?>
<div id="page">
<?php
if( isset( $aData['sName'] ) ){ // displaying pages and subpages content
  
echo '<h1>'.$aData['sName'].'</h1>'// displaying page name

  // display order form
  
if( ( $oOrder->checkEmptyBasket( ) === false && isset( $_POST['sOrderSend'] ) && $oOrder->checkFields$_POST ) === true ) || isset( $aOrder ) ){
    
// save and print order
    
if( !isset( $aOrder ) ){
      
$iOrder $oOrder->addOrder$_POST );

      if( !empty( 
$config['orders_email'] ) ){
        
$oOrder->sendEmailWithOrderDetails$iOrder$config['send_customer_order_details'] );
      }

      
$aOrder $oOrder->throwOrder$iOrder );
      
$sOrderProducts $oOrder->listProducts$iOrder );
      
$aUrls throwSiteUrls( );
      
$sOrderUrl $aUrls['sHomeUrl'].$aData['sLinkName'].'&amp;sKey='.$oOrder->throwOrderKey$aOrder );
    }
    if( isset( 
$aOrder['iPayment'] ) && !isset( $sKey ) )
      require_once 
DIR_SKIN.'_order-payments.php';
    
?>
    <div id="orderPrint">
      <?php
        
if( isset( $aData['sDescriptionFull'] ) )
          echo 
'<div class="content" id="pageDescription">'.$aData['sDescriptionFull'].'</div>'// full description

        
if( isset( $aData['sPages'] ) )
          echo 
'<div class="pages">'.$lang['Pages'].': <ul>'.$aData['sPages'].'</ul></div>'// full description pagination

        
if( isset( $sOrderUrl ) ){
          
?>
          <div class="orderStatusLink">
            <div><?php echo $lang['Check_order_status_url']; ?></div>
            <div><a href="<?php echo $sOrderUrl?>" class="new-window"><?php echo $sOrderUrl?></a></div>
          </div>
          <?php
        
}
        if( !empty( 
$sPaymentOuter ) ) // payment gateway
          
echo $sPaymentOuter;
      
?>
      <div class="legend"><?php echo $lang['Your_personal_data']; ?></div>
      <dl>
        <dt class="orderId">ID:</dt><dd class="orderId"><?php echo $aOrder['iOrder']; ?></dd>
        <dt class="firstAndLastName"><?php echo $lang['First_and_last_name']; ?>:</dt><dd class="firstAndLastName"><?php echo $aOrder['sFirstName'].' '.$aOrder['sLastName']; ?></dd>
        <dt class="company"><?php echo $lang['Company']; ?>:</dt><dd class="company"><?php if( isset( $aOrder['sCompanyName'] ) ) echo $aOrder['sCompanyName']; ?></dd>
        <dt class="street"><?php echo $lang['Street']; ?>:</dt><dd class="street"><?php echo $aOrder['sStreet']; ?></dd>
        <dt class="zipCode"><?php echo $lang['Zip_code']; ?>:</dt><dd class="zipCode"><?php echo $aOrder['sZipCode']; ?></dd>
        <dt class="city"><?php echo $lang['City']; ?>:</dt><dd class="city"><?php echo $aOrder['sCity']; ?></dd>
        <dt class="phone"><?php echo $lang['Telephone']; ?>:</dt><dd class="phone"><?php echo $aOrder['sPhone']; ?></dd>
        <dt class="email"><?php echo $lang['Email']; ?>:</dt><dd class="email"><?php echo $aOrder['sEmail']; ?></dd>
        <dt class="orderDate"><?php echo $lang['Date']; ?>:</dt><dd class="orderDate"><?php echo $aOrder['sDate']; ?></dd><?php
        
if( isset( $aOrder['sStatus'] ) ){?>
          <dt class="orderStatus"><?php echo $lang['Status']; ?>:</dt><dd class="orderStatus"><?php echo $aOrder['sStatus']; ?></dd><?php
        
}?>
        <dt class="orderIP">IP:</dt><dd class="orderIP"><?php echo $aOrder['sIp']; ?></dd>
        <dt class="orderComment"><?php echo $lang['Comment']; ?>:</dt><dd class="orderComment"><?php if( isset( $aOrder['sComment'] ) ) echo str_replace'|n|''<br />'$aOrder['sComment'] ); ?></dd>
      </dl>


Piotrek Sabak

piotrek@sabak.pl

Avatar: piotrek@sabak.pl

2015-07-25 14:36





      <div class="legend"><?php echo $lang['Products']; ?></div>
      <div id="orderedProducts">
        <table cellspacing="0">
          <thead>
            <tr>
              <td class="name"><?php echo $lang['Name']; ?></td>
              <td class="price"><em><?php echo $lang['Price']; ?></em><span>[<?php echo $config['currency_symbol']; ?>]</span></td>
              <td class="quantity"><?php echo $lang['Quantity']; ?></td>
              <td class="summary"><em><?php echo $lang['Summary']; ?></em><span>[<?php echo $config['currency_symbol']; ?>]</span></td>
            </tr>
          </thead>
          <tfoot>
            <?php if( isset( $_SESSION['oneDiscount'] ) ){ ?>
              <tr>
                <th colspan="3">
                  <?php echo $lang['Info_discount']; ?>
                </th>
                <td>
                  <?php echo $config['discount_percent'].'%'?>
                </td>    
              </tr>    
                  <?php }?>
            <?php if( isset( $aOrder['iShipping'] ) ){ ?>
              <tr class="summaryProducts">
                <th colspan="3"><?php echo $lang['Summary']; ?></th>
                <td><?php echo $oOrder->aOrders[$iOrder]['sProductsSummary']; ?></td>
              </tr>
              <tr class="summaryShippingPayment">
                <th colspan="3"><?php echo $lang['Shipping_and_payment']; ?>: <strong><?php echo $aOrder['mShipping']; ?><?php echo $aOrder['mPayment']; ?></strong></th>
                <td id="shippingCost"><?php echo $oOrder->aOrders[$iOrder]['sPaymentShippingPrice']; ?></td>
              </tr>
            <?php ?>
            <tr class="summaryOrder">
              <th colspan="3"><?php echo $lang['Summary_cost']; ?></th>
              <td id="orderSummary"><?php echo $oOrder->aOrders[$iOrder]['sOrderSummary']; ?></td>
            </tr>
          </tfoot>
          <tbody>
            <?php echo $sOrderProducts// displaying products in basket ?>
          </tbody>
        </table>
      </div>
      <script type="text/javascript">
      <!--
      AddOnload( delSavedUserData );
      //-->
      </script>
    </div>
    <?php
  
}
  else{
    echo 
'<div class="message" id="error"><h3>'.$lang['cf_no_word'].'<br /><a href="javascript:history.back();">&laquo; '.$lang['back'].'</a></h3></div>';
  }
}
else{
  echo 
'<div class="message" id="error"><h3>'.$lang['Data_not_found'].'</h3></div>'// displaying 404 error
}
?>
</div>
<?php
require_once DIR_SKIN.'_footer.php'// include design of footer
?>

Piotrek Sabak

selekcjoner

Avatar: selekcjoner

2015-07-25 14:39

Prosiłem żebyś podał wersję skryptu a Ty wklejasz kod całego pliku...

piotrek@sabak.pl

Avatar: piotrek@sabak.pl

2015-07-25 14:40

Hehe... ale jestem zakręcony :) Można to usunąć z forum ?

$config['version'] = '6.5';

Piotrek Sabak

selekcjoner

Avatar: selekcjoner

2015-07-25 14:46

Wydaje mi się, że masz v6.2, no ale..
Powiem tak - jeśli nie modyfikowałeś funkcji sendEmailWithOrderDetails oraz sendEmail to pisz do hostingu.

piotrek@sabak.pl

Avatar: piotrek@sabak.pl

2015-07-25 16:22

W jakie pliki są jeszcze za to odpowiedzialne? Czy są jeszcze jakieś w ogóle:)

Piotrek Sabak

piotrek@sabak.pl

Avatar: piotrek@sabak.pl

2015-07-27 20:50

Taką odpowiedź dostałem:

Panie Piotrze w sprawie funkcji mail pisaliśmy kilkukrotnie - nie jesteśmy w stanie ich śledzić ponieważ się pan nie autoryzuje.

Domyślam się że błąd polega na tym iż modyfikuje pan nagłówki maila z mail() (co nie jest poprawne - ponieważ nie autoryzując się nie może pan potwierdzić faktycznego nadawcy).
Więcej na ten temat

https://hostit.pl/blog/458,dbaj-o-reputacje-swojej-poczty.html
https://hostit.pl/blog/386,jak-wysylac-maile-poprzez-strone-www.html

Piotrek Sabak

piotrek@sabak.pl

Avatar: piotrek@sabak.pl

2015-07-30 22:38

Chodzi chyba o to że aby wysłać maila funkcją mail() trzeba zrobić to z autoryzacją a ja nie wiem jak to się robi

przykład


<?php
    
include_once "/lokalizacjaskryptu/smtpmail.php";
    
wyslijMailText("adres@odbiorcy.com.pl","Temat WiadomoÅ›ci","Treść WiadomoÅ›ci");
?>

Piotrek Sabak

marcin_k

Avatar: marcin_k

2015-07-31 10:40

Podobno PHPmailer to rozsadne rozwiazanie na tego typu sytuacje

Kam0200

Avatar: Kam0200

2015-11-07 23:28

w tym wątku http://opensolution.org/forum/?iTopic=8107 dałem kilka wskazówek który pomogły mi naprawić problem z wysyłką maili przez funkcję mail()

Do góry
o nas | kontakt