• 21-12-2014, 23:11:23
    #1
    Arkadaşlar merhaba,

    Web sitemin maillerini yandex'e taşıdım. Opencart'a yandex ayarlarını yapınca sürekli aşağıdaki hatayı alıyorum. Hosting (Kebirhost) bir sorun olmadığını söylüyor. Çözüm bulamadık kısacası. Yardımcı olabilirseniz sevinirim.

    PHP Warning: fsockopen(): unable to connect to ssl://smtp.yandex.com.tr:465 (Connection timed out) in /........./public_html/system/library/mail.php on line 153
    PHP Notice: Error: Connection timed out (110) in /........../public_html/system/library/mail.php on line 156
  • 21-12-2014, 23:57:33
    #2
    library/mail.php on line 156

    mail.php de duzenlemek gerekıyor ılgılı satırlara bakarsanız

    natro ıcın bunun ozel cozumu vardı kebır hıc kullanmadım
  • 25-12-2014, 00:26:26
    #3
    Yandex mail'in verdiği smtp bilgilerini bana özelden atar mısınız? Yanlış hatırlamıyorsam onlardaki ufak bir düzenleme ile mail serverları sorunsuz çalıştırabiliyordunuz.Kendimde buna benzer bi hatayı kendi araştırmamla çözmüştüm yardımcı olabilirim belki faydam dokunur.

    Saygılarımla.
  • 05-02-2015, 00:18:38
    #4
    Arkadaşlar sadece soran kişinin değil, aynı sorunu yaşayan herkes için çözüm yollarını lütfen konuya da yazın. Şuan aynı sorunu bende yaşıyorum.
  • 06-02-2015, 11:17:36
    #5
    ssl yerine tls bağlanmayı deneyin.
  • 06-02-2015, 14:00:04
    #6
    Üyeliği durduruldu
    Üstadım bunun nedeni muhtemelen kullanıcı bilgileri ve mail server bağlantısından kaynaklanıyor. mail.siteadı.com, smtp.siteadı.com, webmail.siteadi.com bunlardan birini deneyerek bakarsan iyi olur. Hatanın nedeni vermiş olduğun smtp bilgileri ile bağlantı kuramadığından.
  • 13-02-2015, 21:18:09
    #7
    Hocalarım ben normal anlamda mail alıp gönderebiliyorum. Ama opencart üzerinden iletişim, sipariş dahil hiç bir mail gitmiyor. İletişim alanından mail gönderdiğimde hiç bir hata ekranı çıkmıyor başarılı bir şekilde gönderilmiştir diyor. Lütfen bir yardımcı olun. Eğer uygun ücretle yapacak olan varsa fiyat ilede pm atsın. Ama yardımcı olacak olan varsa çok daha makbule geçer.

    şuan ayarlarım şu şekilde ;
    SMTP Host: ssl://smtp.yandex.com.tr
    SMTP Kullanıcı Adı: info@domainadi.com
    SMTP Parola: -*---
    SMTP Port: 465
    SMTP Zaman Aşımı: 15

    library/mail.php
    -
    Alıntı
    <?php
    class Mail {
    protected $to;
    protected $from;
    protected $sender;
    protected $subject;
    protected $text;
    protected $html;
    protected $attachments = array();
    public $protocol = 'smtp';
    public $hostname;
    public $username;
    public $password;
    public $port = 465;
    public $timeout = 15;
    public $newline = "\r\n";
    public $crlf = "\r\n";
    public $verp = false;
    public $parameter = '';

    public function setTo($to) {
    $this->to = $to;
    }

    public function setFrom($from) {
    $this->from = $from;
    }

    public function setSender($sender) {
    $this->sender = $sender;
    }

    public function setSubject($subject) {
    $this->subject = $subject;
    }

    public function setText($text) {
    $this->text = $text;
    }

    public function setHtml($html) {
    $this->html = $html;
    }

    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 (is_array($this->to)) {
    $to = implode(',', $this->to);
    } else {
    $to = $this->to;
    }

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

    $header = '';

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

    if ($this->protocol != 'mail') {
    $header .= 'To: ' . $to . $this->newline;
    $header .= 'Subject: ' . $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->sender) . '?=' . '<' . $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($handle, filesize($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') {
    $handle = fsockopen($this->hostname, $this->port, $errno, $errstr, $this->timeout);

    if (!$handle) {
    trigger_error('Error: ' . $errstr . ' (' . $errno . ')');
    exit();
    } else {
    if (substr(PHP_OS, 0, 3) != 'WIN') {
    socket_set_timeout($handle, $this->timeout, 0);
    }

    while ($line = fgets($handle, 515)) {
    if (substr($line, 3, 1) == ' ') {
    break;
    }
    }

    if (substr($this->hostname, 0, 3) == 'tls') {
    fputs($handle, 'STARTTLS' . $this->crlf);

    while ($line = fgets($handle, 515)) {
    $reply .= $line;

    if (substr($line, 3, 1) == ' ') {
    break;
    }
    }

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

    if (!empty($this->username) && !empty($this->password)) {
    fputs($handle, 'EHLO ' . getenv('SERVER_NAME') . $this->crlf);

    $reply = '';

    while ($line = fgets($handle, 515)) {
    $reply .= $line;

    if (substr($line, 3, 1) == ' ') {
    break;
    }
    }

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

    fputs($handle, 'AUTH LOGIN' . $this->crlf);

    $reply = '';

    while ($line = fgets($handle, 515)) {
    $reply .= $line;

    if (substr($line, 3, 1) == ' ') {
    break;
    }
    }

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

    fputs($handle, base64_encode($this->username) . $this->crlf);

    $reply = '';

    while ($line = fgets($handle, 515)) {
    $reply .= $line;

    if (substr($line, 3, 1) == ' ') {
    break;
    }
    }

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

    fputs($handle, base64_encode($this->password) . $this->crlf);

    $reply = '';

    while ($line = fgets($handle, 515)) {
    $reply .= $line;

    if (substr($line, 3, 1) == ' ') {
    break;
    }
    }

    if (substr($reply, 0, 3) != 235) {
    trigger_error('Error: Password not accepted from server!');
    exit();
    }
    } else {
    fputs($handle, 'HELO ' . getenv('SERVER_NAME') . $this->crlf);

    $reply = '';

    while ($line = fgets($handle, 515)) {
    $reply .= $line;

    if (substr($line, 3, 1) == ' ') {
    break;
    }
    }

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

    if ($this->verp) {
    fputs($handle, 'MAIL FROM: <' . $this->username . '>XVERP' . $this->crlf);
    } else {
    fputs($handle, 'MAIL FROM: <' . $this->username . '>' . $this->crlf);
    }

    $reply = '';

    while ($line = fgets($handle, 515)) {
    $reply .= $line;

    if (substr($line, 3, 1) == ' ') {
    break;
    }
    }

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

    if (!is_array($this->to)) {
    fputs($handle, 'RCPT TO: <' . $this->to . '>' . $this->crlf);

    $reply = '';

    while ($line = fgets($handle, 515)) {
    $reply .= $line;

    if (substr($line, 3, 1) == ' ') {
    break;
    }
    }

    if ((substr($reply, 0, 3) != 250) && (substr($reply, 0, 3) != 251)) {
    trigger_error('Error: RCPT TO not accepted from server!');
    exit();
    }
    } else {
    foreach ($this->to as $recipient) {
    fputs($handle, 'RCPT TO: <' . $recipient . '>' . $this->crlf);

    $reply = '';

    while ($line = fgets($handle, 515)) {
    $reply .= $line;

    if (substr($line, 3, 1) == ' ') {
    break;
    }
    }

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

    fputs($handle, 'DATA' . $this->crlf);

    $reply = '';

    while ($line = fgets($handle, 515)) {
    $reply .= $line;

    if (substr($line, 3, 1) == ' ') {
    break;
    }
    }

    if (substr($reply, 0, 3) != 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($line, 998);

    foreach ($results as $result) {
    if (substr(PHP_OS, 0, 3) != 'WIN') {
    fputs($handle, $result . $this->crlf);
    } else {
    fputs($handle, str_replace("\n", "\r\n", $result) . $this->crlf);
    }
    }
    }

    fputs($handle, '.' . $this->crlf);

    $reply = '';

    while ($line = fgets($handle, 515)) {
    $reply .= $line;

    if (substr($line, 3, 1) == ' ') {
    break;
    }
    }

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

    fputs($handle, 'QUIT' . $this->crlf);

    $reply = '';

    while ($line = fgets($handle, 515)) {
    $reply .= $line;

    if (substr($line, 3, 1) == ' ') {
    break;
    }
    }

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

    fclose($handle);
    }
    }
    }
    }
    ?>
  • 14-02-2015, 14:14:04
    #8
    konu günceldir
  • 15-02-2015, 17:53:11
    #9
    KONU güncel