• 02-02-2018, 09:41:28
    #1
    Merhaba;
    Basit bir iletişim formum mevcut; Ad Soyad, E-Mail, Telefon ve Konu alanları giriliyor ve mail adresine mail atılıyor.
    local'de çalışırken, PHPMailer kullanarak, sistemi kurdum. Mail gönderme de hiçbir sorun yoktu. Sunucu tarafına taşıdığımda sürekli hata almaya başladım. SMTP ayarlarını değiştirim; Webmail, Gmail, Yandex.Mail, Outlook denedim ama hepsinde aynı hatayı aldım; SMTP bağlantı hatası.
    Sunucu firmasına konu hakkında ticket attığımda, "güvenlik sebebiyle PHPMailer'ın sunucularında engelli olduğunu, SMTP mail formu kullanarak mail gönderimi" yapmamı söylediler. Biraz araştırdım ama bulduğum bilgiler pek işime yaramadı.
    SMTP ile formu maile gönderme konusunu nasıl halledebilirim?
    Şimdiden teşekkürler
  • 02-02-2018, 11:43:21
    #2
    Üyeliği durduruldu
    Aldığınız hata nedir php class mailler kullandınız mı ? Mail server ayarlarını doğru yapıyormusunuz ? ( Port ssl v.s. )
  • 02-02-2018, 11:46:36
    #3
    sunucuda php mailer engelli olmaz mail() fonksiyonu engelli olur ,oda spam mail gönderdikleri için.
    https://www.lifewire.com/send-email-...nd-ssl-1171197
    https://www.phpr.org/php-ile-smtp-mail-gonderme/
  • 02-02-2018, 11:47:53
    #4
    LDestek adlı üyeden alıntı: mesajı görüntüle
    Aldığınız hata nedir php class mailler kullandınız mı ? Mail server ayarlarını doğru yapıyormusunuz ? ( Port ssl v.s. )
    PHPMailer kullanarak kurulumu gerçekleştirdim. Localhost üzerinde deneme yapıyorum, mail gönderimi yapılıyor ve gelen kutusuna mail düşüyor. Port, ssl/tls, server ayarlarında bir sorun yok yani.
    Sunucu tarafına yüklediğim zaman hata alıyorum.
    Hata da şu; SMTP Error: Could not connect to SMTP host.



    BoraBozdogan adlı üyeden alıntı: mesajı görüntüle
    sunucuda php mailer engelli olmaz mail() fonksiyonu engelli olur ,oda spam mail gönderdikleri için.
    https://www.lifewire.com/send-email-...nd-ssl-1171197
    https://www.phpr.org/php-ile-smtp-mail-gonderme/
    mail() fonksiyonunun engelli olduğunu bildiğim için PHPMailer kullanımı yöneldim. Sunucu Destek talebine gelen cevap direk şu şekilde;
  • 02-02-2018, 11:52:52
    #5
    Üyeliği durduruldu
    mail fonksiyonu ile sunucu nun local hostunu kullanarak mail gönderirsiniz smtp ise domaininize kayıtlı mail adresine login yaparak gönderirsiniz.
    Bknz : https://github.com/PHPMailer/PHPMailer
  • 02-02-2018, 11:57:20
    #6
    KagitmiAdam adlı üyeden alıntı: mesajı görüntüle
    PHPMailer kullanarak kurulumu gerçekleştirdim. Localhost üzerinde deneme yapıyorum, mail gönderimi yapılıyor ve gelen kutusuna mail düşüyor. Port, ssl/tls, server ayarlarında bir sorun yok yani.
    Sunucu tarafına yüklediğim zaman hata alıyorum.
    Hata da şu; SMTP Error: Could not connect to SMTP host.




    mail() fonksiyonunun engelli olduğunu bildiğim için PHPMailer kullanımı yöneldim. Sunucu Destek talebine gelen cevap direk şu şekilde;
    phpmailer içerisinde olan smtp classını kullanıcaksın sen
    src klasöründe SMTP.php olarak kayıtlı githubda.
  • 02-02-2018, 13:03:05
    #7
    BoraBozdogan adlı üyeden alıntı: mesajı görüntüle
    phpmailer içerisinde olan smtp classını kullanıcaksın sen
    src klasöründe SMTP.php olarak kayıtlı githubda.
    Şu şekilde kullanıyorum hocam; isSMTP ile SMTP olduğunu belirtiyoruz yanlış anlamıyorsan

    public static function setConfigs(array $configs): MailSender
        {
            static::$mailer = new PHPMailer(true);
            static::$baseDir = $configs['base_dir'];
            static::$mailer->SMTPDebug = $configs['debug'];
            static::$mailer->CharSet = 'UTF-8';
            static::$mailer->isSMTP();
            static::$mailer->Host = $configs['host'];
            static::$mailer->SMTPAuth = true;
            static::$mailer->Username = $configs['username'];
            static::$mailer->Password = $configs['password'];
            static::$mailer->SMTPSecure = $configs['encryption'];
            static::$mailer->Port = $configs['port'];
            //Recipients
            static::$mailer->setFrom($configs['from']['address'], $configs['from']['name']);
            static::$mailer->addAddress($configs['to']['address'], $configs['to']['name']);
            //Content
            static::$mailer->isHTML(true);
            static::$mailer->Subject = $configs['subject'];
            return new static();
        }
    LDestek adlı üyeden alıntı: mesajı görüntüle
    mail fonksiyonu ile sunucu nun local hostunu kullanarak mail gönderirsiniz smtp ise domaininize kayıtlı mail adresine login yaparak gönderirsiniz.
    Bknz : https://github.com/PHPMailer/PHPMailer
    mail fonksiyonu kullanmıyorum hocam, yolladığınız GitHub linkinde bulunan PHPMailer'ı kullanıyorum zaten bende.
    Local tarafında; Domain'e kayıtlı mail adresime ve Outlook'ta bulunan başka bir mail adresime, doldurduğum formu gönderebilliyorum. İkisini de denedim...
    Sunucu taraflı olarak bu işlem gerçekleşmiyor.
  • 02-02-2018, 15:24:55
    #8
     
    //Tell PHPMailer to use SMTP
    $mail->isSMTP();
    //Enable SMTP debugging
    // 0 = off (for production use)
    // 1 = client messages
    // 2 = client and server messages
    $mail->SMTPDebug = 2;
    //Set the hostname of the mail server
    $mail->Host = 'mail.example.com';
    //Set the SMTP port number - likely to be 25, 465 or 587
    $mail->Port = 25;
    //Whether to use SMTP authentication
    $mail->SMTPAuth = true;
    //Username to use for SMTP authentication
    $mail->Username = 'yourname@example.com';
    //Password to use for SMTP authentication
    $mail->Password = 'yourpassword';
    Kilit kısım burada, ki sizin de SMTP ayarların doğru gözüküyor. Acaba sunucu tarafından sağlanan SMTP adresinde mi hata var?
    Örnek olarak, çoğu sağlayıcı sana domain adınla smtp adresi sunar, ama aslında bunlar malumun maske adreslerdir. Güveli sunucularda da bunlarla mail gönderiminde değişik hatalar alabilirsin.
    Kolay gelsin.