Opencart Türkiye Destek Sitesi ,E-Ticaret Yazılımı Destek Paylaşım Forumu

Tam Görünüm: Natro ve Isim tescil sunucularinda smtp Mail Problemi cozumu
Şu Anda Arşiv Görüntüleme Modundasınız. Siteyi normal görüntülemek için, Buraya Tıklayın
Sayfalar: 1 2
Forumda bununla ilgili bir kaç tane konu var ama onlara yazmış olmama rağmen hiç bir dönüş alamadım. Bu kadar opencart kullanıcısı varken, bu sorunu çözen yada çözülen kişiler illa ki vardır. Mağaza bölümünden mail ayarlarını olması gerektiği yapmış olmama rağmen mail gönderemiyorum. Tür olarak SMTP kullanıyorum, hosting firmam natro, smtp portu 587. Bunlara rağmen mail gönderemiyorum, başka ne yapabilirim.
Merhaba;
System\library\mail.php doyasında asagidaki duzenlemeyi yapin
16, 17 satırda r ve n ekli olmalı,


16 . satır böyle olmalı:
PHP Kod:
public $newline "\r\n"
17. satır böyle olmalı:
PHP Kod:
public $crlf "\r\n"



271. satır kod gurbu asagidaki gibi olmali
Bu kodu
PHP Kod:
if ($this->verp) {fputs($handle'MAIL FROM: <' $this->from '>XVERP' $this->crlf);} else {fputs($handle 'MAIL FROM: <' $this->from '>' $this->crlf);} 
Bunula deistir
PHP Kod:
if  ($this->verp) {fputs($handle'MAIL FROM: <' $this->username '>XVERP' $this->crlf);} else {fputs($handle 'MAIL FROM: <' $this->username '>' $this->crlf);} 

Kodlarla uğraşmak isteyenler aşağıdaki dosyayı System\library\mail.php yerine yükleyebilirler.
Oh sonunda ya. O kadar modül ekledim, tema ekledim bir mail ayarlarını çözememiştim sayende hallettim. Çok sağol.
(10-23-2013 11:46 PM)osdem66 Yazılan: [ -> ]Merhaba;
System\library\mail.php doyasında asagidaki duzenlemeyi yapin
16, 17 satırda r ve n ekli olmalı,


16 . satır böyle olmalı:
PHP Kod:
public $newline "\r\n"
17. satır böyle olmalı:
PHP Kod:
public $crlf "\r\n"



271. satır kod gurbu asagidaki gibi olmali
Bu kodu
PHP Kod:
if ($this->verp) {fputs($handle'MAIL FROM: <' $this->from '>XVERP' $this->crlf);} else {fputs($handle 'MAIL FROM: <' $this->from '>' $this->crlf);} 
Bunula deistir
PHP Kod:
if  ($this->verp) {fputs($handle'MAIL FROM: <' $this->username '>XVERP' $this->crlf);} else {fputs($handle 'MAIL FROM: <' $this->username '>' $this->crlf);} 

Kodlarla uğraşmak isteyenler aşağıdaki dosyayı System\library\mail.php yerine yükleyebilirler.

Gerçekten dua edilecek insansın kardeşim cidden ekteki dosya çözüm oldu sıkıntılarımıza iyki varsın..
bunları uygulamama rağmen aynı sorun devam ediyorsa ne yapmam gerek acaba? yanlış yerde sorduysam kusura bakmayın.

aldığım hata:

Notice: fputs(): send of 8192 bytes failed with errno=32 Broken pipe in /home/public_html/system/library/mail.php on line 351Notice: fputs(): send of 3 bytes failed with errno=32 Broken pipe in /home/public_html/system/library/mail.php on line 352Notice: fputs(): send of 6 bytes failed with errno=32 Broken pipe in /home/public_html/system/library/mail.php on line 368
(10-23-2013 11:46 PM)osdem66 Yazılan: [ -> ]Merhaba;
System\library\mail.php doyasında asagidaki duzenlemeyi yapin
16, 17 satırda r ve n ekli olmalı,


16 . satır böyle olmalı:
PHP Kod:
public $newline "\r\n"
17. satır böyle olmalı:
PHP Kod:
public $crlf "\r\n"



271. satır kod gurbu asagidaki gibi olmali
Bu kodu
PHP Kod:
if ($this->verp) {fputs($handle'MAIL FROM: <' $this->from '>XVERP' $this->crlf);} else {fputs($handle 'MAIL FROM: <' $this->from '>' $this->crlf);} 
Bunula deistir
PHP Kod:
if  ($this->verp) {fputs($handle'MAIL FROM: <' $this->username '>XVERP' $this->crlf);} else {fputs($handle 'MAIL FROM: <' $this->username '>' $this->crlf);} 

Kodlarla uğraşmak isteyenler aşağıdaki dosyayı System\library\mail.php yerine yükleyebilirler.



Merhaba;

Ben Natro'dan domain-host aldım. Daha sonra maillimi Yandex'e taşıdım. Normal mailleşmede sıkıntı yok.Web sitemi kurdum yayına açıcakken deneme test yapıyım dedim ama site içinden dışarı mail gitmiyor. Deneme amaçlı kendi siteme üye oldum sipariş verdim fakat hiç bir şekilde müşteri mailine mail gitmiyor.
Belirtmiş olduğunuz gibi düzenledim bütün smtp ayarlarımı düzgün doğru şekilde yazdım olmadı. Natro ile görüştüm bizlik bi problem yok diyolar. Yandex Smtp ayarlarını yapın diyorlar , onuda yaptım ona göre düzenledim denedim olmadı hiç bir sorun hata kodu falanda vermiyor. Nasıl bir çözüm olur Yardımcı olursanız çok memnun olurum, yoksa emeklerim boşa gider cidden
Saygılar...*
ekteki mail.php yi ekledim ama şimdi şifremi unuttum kısmında şöyle bir hata alıyorum nasıl fixleriz dostum ? Şimdiden çok teşekkürler.

Kod:
Warning: fsockopen() [function.fsockopen]: php_network_getaddresses: getaddrinfo failed: Name or service not known in /home/ajmlean/public_html/store2/system/library/mail.php on line 153Warning: fsockopen() [function.fsockopen]: unable to connect to :25 (php_network_getaddresses: getaddrinfo failed: Name or service not known) in /home/ajmlean/public_html/store2/system/library/mail.php on line 153Notice: Error: php_network_getaddresses: getaddrinfo failed: Name or service not known (0) in /home/ajmlean/public_html/store2/system/library/mail.php on line 156
(10-23-2013 11:46 PM)osdem66 Yazılan: [ -> ]Merhaba;
System\library\mail.php doyasında asagidaki duzenlemeyi yapin
16, 17 satırda r ve n ekli olmalı,


16 . satır böyle olmalı:
PHP Kod:
public $newline "\r\n"
17. satır böyle olmalı:
PHP Kod:
public $crlf "\r\n"



271. satır kod gurbu asagidaki gibi olmali
Bu kodu
PHP Kod:
if ($this->verp) {fputs($handle'MAIL FROM: <' $this->from '>XVERP' $this->crlf);} else {fputs($handle 'MAIL FROM: <' $this->from '>' $this->crlf);} 
Bunula deistir
PHP Kod:
if  ($this->verp) {fputs($handle'MAIL FROM: <' $this->username '>XVERP' $this->crlf);} else {fputs($handle 'MAIL FROM: <' $this->username '>' $this->crlf);} 

Kodlarla uğraşmak isteyenler aşağıdaki dosyayı System\library\mail.php yerine yükleyebilirler.



s.a netinternet kullanıcıyım söylenenleri aynen yaptım OLMADI Sad
osdem66 abinin verdiği mail.php belki düzeltir diye onu ilgili dizine attım bu seferde

Warning: mail() has been disabled for security reasons in /home/tobacco/public_html/system/library/mail.php on line 150
Warning: Cannot modify header information - headers already sent by (output started at /home/tobacco/public_html/index.php:102) in /home/tobacco/public_html/system/modification/system/library/response.php on line 12


hatası verdi 2.0.1.1 versiyonu kullanıyorum yardımcı olabilirmisiniz.??

forumdaki bütün konuları tek tek inceledim uyguladım hatta başka forumlara bile sıçradım yok banamısın demedi.

Resim görüntüleyici

mail.php dosyasının orjinal hali

PHP Kod:
<?php
class Mail {
    protected 
$to;
    protected 
$from;
    protected 
$sender;
    protected 
$replyto;
    protected 
$subject;
    protected 
$text;
    protected 
$html;
    protected 
$attachments = array();
    public 
$protocol 'mail';
    public 
$smtp_hostname;
    public 
$smtp_username;
    public 
$smtp_password;
    public 
$smtp_port 25;
    public 
$smtp_timeout 5;
    public 
$newline "\n";
    public 
$verp false;
    public 
$parameter '';

    public function 
__construct($config = array()) {
        foreach (
$config as $key => $value) {
            if (
$value) {
                
$this->$key $value;
            }
        }
    }

    public function 
setTo($to) {
        
$this->to html_entity_decode($toENT_QUOTES'UTF-8');
    }

    public function 
setFrom($from) {
        
$this->from html_entity_decode($fromENT_QUOTES'UTF-8');
    }

    public function 
setSender($sender) {
        
$this->sender html_entity_decode($senderENT_QUOTES'UTF-8');
    }

    public function 
setReplyTo($reply_to) {
        
$this->replyto html_entity_decode($reply_toENT_QUOTES'UTF-8');
    }

    public function 
setSubject($subject) {
        
$this->subject html_entity_decode($subjectENT_QUOTES'UTF-8');
    }

    public function 
setText($text) {
        
$this->text html_entity_decode($textENT_QUOTES'UTF-8');
    }

    public function 
setHtml($html) {
        
$this->html html_entity_decode($htmlENT_QUOTES'UTF-8');
    }

    public function 
addAttachment($filename) {
        
$this->attachments[] = $filename;
    }

    public function 
send() {
        if (!
$this->to) {
            
trigger_error('Error: E-Mail to required!');
            exit();
        }

        if (!
$this->from) {
            
trigger_error('Error: E-Mail from required!');
            exit();
        }

        if (!
$this->sender) {
            
trigger_error('Error: E-Mail sender required!');
            exit();
        }

        if (!
$this->subject) {
            
trigger_error('Error: E-Mail subject required!');
            exit();
        }

        if ((!
$this->text) && (!$this->html)) {
            
trigger_error('Error: E-Mail message required!');
            exit();
        }

        if (!
$this->replyto) {
            
$this->setReplyTo($this->sender);
        }

        if (
is_array($this->to)) {
            
$to implode(','$this->to);
        } else {
            
$to $this->to;
        }

        
$boundary '----=_NextPart_' md5(time());

        
$header 'MIME-Version: 1.0' $this->newline;

        if (
$this->protocol != 'mail') {
            
$header .= 'To: ' $to $this->newline;
            
$header .= 'Subject: ' '=?UTF-8?B?' base64_encode($this->subject) . '?=' $this->newline;
        }

        
$header .= 'Date: ' date('D, d M Y H:i:s O') . $this->newline;
        
$header .= 'From: =?UTF-8?B?' base64_encode($this->sender) . '?=' ' <' $this->from '>' $this->newline;
        
$header .= 'Reply-To: =?UTF-8?B?' base64_encode($this->replyto) . '?=' ' <' $this->from '>' $this->newline;
        
$header .= 'Return-Path: ' $this->from $this->newline;
        
$header .= 'X-Mailer: PHP/' phpversion() . $this->newline;
        
$header .= 'Content-Type: multipart/related; boundary="' $boundary '"' $this->newline $this->newline;

        if (!
$this->html) {
            
$message  '--' $boundary $this->newline;
            
$message .= 'Content-Type: text/plain; charset="utf-8"' $this->newline;
            
$message .= 'Content-Transfer-Encoding: 8bit' $this->newline $this->newline;
            
$message .= $this->text $this->newline;
        } else {
            
$message  '--' $boundary $this->newline;
            
$message .= 'Content-Type: multipart/alternative; boundary="' $boundary '_alt"' $this->newline $this->newline;
            
$message .= '--' $boundary '_alt' $this->newline;
            
$message .= 'Content-Type: text/plain; charset="utf-8"' $this->newline;
            
$message .= 'Content-Transfer-Encoding: 8bit' $this->newline $this->newline;

            if (
$this->text) {
                
$message .= $this->text $this->newline;
            } else {
                
$message .= 'This is a HTML email and your email client software does not support HTML email!' $this->newline;
            }

            
$message .= '--' $boundary '_alt' $this->newline;
            
$message .= 'Content-Type: text/html; charset="utf-8"' $this->newline;
            
$message .= 'Content-Transfer-Encoding: 8bit' $this->newline $this->newline;
            
$message .= $this->html $this->newline;
            
$message .= '--' $boundary '_alt--' $this->newline;
        }

        foreach (
$this->attachments as $attachment) {
            if (
file_exists($attachment)) {
                
$handle fopen($attachment'r');

                
$content fread($handlefilesize($attachment));

                
fclose($handle);

                
$message .= '--' $boundary $this->newline;
                
$message .= 'Content-Type: application/octet-stream; name="' basename($attachment) . '"' $this->newline;
                
$message .= 'Content-Transfer-Encoding: base64' $this->newline;
                
$message .= 'Content-Disposition: attachment; filename="' basename($attachment) . '"' $this->newline;
                
$message .= 'Content-ID: <' basename(urlencode($attachment)) . '>' $this->newline;
                
$message .= 'X-Attachment-Id: ' basename(urlencode($attachment)) . $this->newline $this->newline;
                
$message .= chunk_split(base64_encode($content));
            }
        }

        
$message .= '--' $boundary '--' $this->newline;

        if (
$this->protocol == 'mail') {
            
ini_set('sendmail_from'$this->from);

            if (
$this->parameter) {
                
mail($to'=?UTF-8?B?' base64_encode($this->subject) . '?='$message$header$this->parameter);
            } else {
                
mail($to'=?UTF-8?B?' base64_encode($this->subject) . '?='$message$header);
            }
        } elseif (
$this->protocol == 'smtp') {
            
$is_tls substr($this->smtp_hostname03) == 'tls';
            
$hostname $is_tls substr($this->smtp_hostname6) : $this->smtp_hostname;
            
$handle fsockopen($hostname$this->smtp_port$errno$errstr$this->smtp_timeout);

            if (!
$handle) {
                
trigger_error('Error: ' $errstr ' (' $errno ')');
                exit();
            } else {
                if (
substr(PHP_OS03) != 'WIN') {
                    
socket_set_timeout($handle$this->smtp_timeout0);
                }

                while (
$line fgets($handle515)) {
                    if (
substr($line31) == ' ') {
                        break;
                    }
                }

                
fputs($handle'EHLO ' getenv('SERVER_NAME') . "\r\n");

                
$reply '';

                while (
$line fgets($handle515)) {
                    
$reply .= $line;

                    if (
substr($line31) == ' ') {
                        break;
                    }
                }

                if (
substr($reply03) != 250) {
                    
trigger_error('Error: EHLO not accepted from server!');
                    exit();
                }

                if (
$is_tls) {
                    
fputs($handle'STARTTLS' "\r\n");

                    
$reply '';

                    while (
$line fgets($handle515)) {
                        
$reply .= $line;

                        if (
substr($line31) == ' ') {
                            break;
                        }
                    }

                    if (
substr($reply03) != 220) {
                        
trigger_error('Error: STARTTLS not accepted from server!');
                        exit();
                    }

                    
stream_socket_enable_crypto($handletrueSTREAM_CRYPTO_METHOD_TLS_CLIENT);
                }

                if (!empty(
$this->smtp_username)  && !empty($this->smtp_password)) {
                    
fputs($handle'EHLO ' getenv('SERVER_NAME') . "\r\n");

                    
$reply '';

                    while (
$line fgets($handle515)) {
                        
$reply .= $line;

                        if (
substr($line31) == ' ') {
                            break;
                        }
                    }

                    if (
substr($reply03) != 250) {
                        
trigger_error('Error: EHLO not accepted from server!');
                        exit();
                    }

                    
fputs($handle'AUTH LOGIN' "\r\n");

                    
$reply '';

                    while (
$line fgets($handle515)) {
                        
$reply .= $line;

                        if (
substr($line31) == ' ') {
                            break;
                        }
                    }

                    if (
substr($reply03) != 334) {
                        
trigger_error('Error: AUTH LOGIN not accepted from server!');
                        exit();
                    }

                    
fputs($handlebase64_encode($this->smtp_username) . "\r\n");

                    
$reply '';

                    while (
$line fgets($handle515)) {
                        
$reply .= $line;

                        if (
substr($line31) == ' ') {
                            break;
                        }
                    }

                    if (
substr($reply03) != 334) {
                        
trigger_error('Error: Username not accepted from server!');
                        exit();
                    }

                    
fputs($handlebase64_encode($this->smtp_password) . "\r\n");

                    
$reply '';

                    while (
$line fgets($handle515)) {
                        
$reply .= $line;

                        if (
substr($line31) == ' ') {
                            break;
                        }
                    }

                    if (
substr($reply03) != 235) {
                        
trigger_error('Error: Password not accepted from server!');
                        exit();
                    }
                } else {
                    
fputs($handle'HELO ' getenv('SERVER_NAME') . "\r\n");

                    
$reply '';

                    while (
$line fgets($handle515)) {
                        
$reply .= $line;

                        if (
substr($line31) == ' ') {
                            break;
                        }
                    }

                    if (
substr($reply03) != 250) {
                        
trigger_error('Error: HELO not accepted from server!');
                        exit();
                    }
                }

                if (
$this->verp) {
                    
fputs($handle'MAIL FROM: <' $this->from '>XVERP' "\r\n");
                } else {
                    
fputs($handle'MAIL FROM: <' $this->from '>' "\r\n");
                }

                
$reply '';

                while (
$line fgets($handle515)) {
                    
$reply .= $line;

                    if (
substr($line31) == ' ') {
                        break;
                    }
                }

                if (
substr($reply03) != 250) {
                    
trigger_error('Error: MAIL FROM not accepted from server!');
                    exit();
                }

                if (!
is_array($this->to)) {
                    
fputs($handle'RCPT TO: <' $this->to '>' "\r\n");

                    
$reply '';

                    while (
$line fgets($handle515)) {
                        
$reply .= $line;

                        if (
substr($line31) == ' ') {
                            break;
                        }
                    }

                    if ((
substr($reply03) != 250) && (substr($reply03) != 251)) {
                        
trigger_error('Error: RCPT TO not accepted from server!');
                        exit();
                    }
                } else {
                    foreach (
$this->to as $recipient) {
                        
fputs($handle'RCPT TO: <' $recipient '>' "\r\n");

                        
$reply '';

                        while (
$line fgets($handle515)) {
                            
$reply .= $line;

                            if (
substr($line31) == ' ') {
                                break;
                            }
                        }

                        if ((
substr($reply03) != 250) && (substr($reply03) != 251)) {
                            
trigger_error('Error: RCPT TO not accepted from server!');
                            exit();
                        }
                    }
                }

                
fputs($handle'DATA' "\r\n");

                
$reply '';

                while (
$line fgets($handle515)) {
                    
$reply .= $line;

                    if (
substr($line31) == ' ') {
                        break;
                    }
                }

                if (
substr($reply03) != 354) {
                    
trigger_error('Error: DATA not accepted from server!');
                    exit();
                }

                
// According to rfc 821 we should not send more than 1000 including the CRLF
                
$message str_replace("\r\n""\n"$header $message);
                
$message str_replace("\r""\n"$message);

                
$lines explode("\n"$message);

                foreach (
$lines as $line) {
                    
$results str_split($line998);

                    foreach (
$results as $result) {
                        if (
substr(PHP_OS03) != 'WIN') {
                            
fputs($handle$result "\r\n");
                        } else {
                            
fputs($handlestr_replace("\n""\r\n"$result) . "\r\n");
                        }
                    }
                }

                
fputs($handle'.' "\r\n");

                
$reply '';

                while (
$line fgets($handle515)) {
                    
$reply .= $line;

                    if (
substr($line31) == ' ') {
                        break;
                    }
                }

                if (
substr($reply03) != 250) {
                    
trigger_error('Error: DATA not accepted from server!');
                    exit();
                }

                
fputs($handle'QUIT' "\r\n");

                
$reply '';

                while (
$line fgets($handle515)) {
                    
$reply .= $line;

                    if (
substr($line31) == ' ') {
                        break;
                    }
                }

                if (
substr($reply03) != 221) {
                    
trigger_error('Error: QUIT not accepted from server!');
                    exit();
                }

                
fclose($handle);
            }
        }
    }


son aldığım hata.

Notice: Error: Password not accepted from server! in /home/tobacco/public_html/system/library/mail.php on line 288

bu arada unutmdan hosting firmam ile görüştüm yazılımsal hata dediler.
Merhaba Hocam. Opencart Versiyon 2.0.2.0 kurdum. İletişim formundan mail geliyor lakin yeni müşteri kayıt olduğunda ya da sipariş alındığında siteye tanımlı mail adresime mail gelmiyor. Aynı şekilde müşteri mailine de yeni üye veya sipariş ile ilgili mail gitmiyor. Sizin verdiğiniz dosyayı da denedim. Internette birçok farklı kaynaktan farklı yöntemler de denedim lakin çözüme kavuşturamadım. Sitenin yer aldığı sunucu firması netinternet. lakin onlar da yazılımınızı kontrol edin diyorlar Sad Nasıl çözebilirim? Yardımcı olursanız sevinirim.

(10-23-2013 11:46 PM)osdem66 Yazılan: [ -> ]Merhaba;
System\library\mail.php doyasında asagidaki duzenlemeyi yapin
16, 17 satırda r ve n ekli olmalı,


16 . satır böyle olmalı:
PHP Kod:
public $newline "\r\n"
17. satır böyle olmalı:
PHP Kod:
public $crlf "\r\n"



271. satır kod gurbu asagidaki gibi olmali
Bu kodu
PHP Kod:
if ($this->verp) {fputs($handle'MAIL FROM: <' $this->from '>XVERP' $this->crlf);} else {fputs($handle 'MAIL FROM: <' $this->from '>' $this->crlf);} 
Bunula deistir
PHP Kod:
if  ($this->verp) {fputs($handle'MAIL FROM: <' $this->username '>XVERP' $this->crlf);} else {fputs($handle 'MAIL FROM: <' $this->username '>' $this->crlf);} 

Kodlarla uğraşmak isteyenler aşağıdaki dosyayı System\library\mail.php yerine yükleyebilirler.
Yok mu konu hakkında yardımcı olabilecek Sad
Sayfalar: 1 2
Referans Adresler