• 17-03-2016, 12:44:12
    #1
    Üyeliği durduruldu
    Arkadaşlar merhaba,

    HTML5 bir projemde smtp, phpmailer çalıştırmak istiyorum ancak bir türlü yapamadım. Aşağıda sayfanın iletişim bölümünün kodlarını alt kısımda JS kodları kısmını sizinle paylaşıyorum yardımcı olabilirseniz sevinirim.

    index.php
                        <div class="contact-form">                
                            <ul id="contact-form">
                                <li class="name-holder">
                                    <input type="text" id="name" name="ad" />
                                </li>
                                <li class="email-holder">
                                    <input type="text" id="contact-email" name="email" />
                                </li>
                                <li class="website-holder">
                                    <input type="text" id="website" name="baslik" />
                                </li>
                                <li class="message-holder">
                                    <textarea rows="7" cols="50" id="message" name="mesaj"></textarea>
                                </li>
                                <li class="last-child">
                                    <a class="button black" onClick="SendMail ()" id="send-message" name="submit">Gönder</a>   
                                </li>
                            </ul>
                            <div class="clear"></div>					
                        </div>			
                        <div class="clear"></div>					
                        <div class="sending-message-status-holder"><span id="sending-message-status">&nbsp;</span></div>
    JS.js
    var SendMail = function(){
        var isValid = true;
        var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;	
        if(!emailReg.test(jQuery('#contact-email').val()) || jQuery('#contact-email').val() == ""){
            isValid = false;
            alert('Lütfen tüm alanları eksiksiz doldurun.');
        }
    	
        var website = jQuery('#website').val();
        if(website == 'Web Site')
        {
            website ='';
        }
    	
        if(isValid){
            var params = {
                'action'    : 'SendMessage',
                'name'      : jQuery('#name').val(),
                'email'     : jQuery('#contact-email').val(),
                'website'   : website,
                'subject'   : 'Email from Sensa',
                'message'   : jQuery('#message').val()
            };
            jQuery.ajax({
                type: "POST",
                url: "php/process.php",
                data: params,
                success: function(response){
                    if(response){
                        var responseObj = jQuery.parseJSON(response);
                        if(responseObj.ResponseData)
                        {
                            alert(responseObj.ResponseData);  
                        }
                    }
                    ResetInput();   
                    displayHints();	
                },
                error: function (xhr, ajaxOptions, thrownError){
                    //xhr.status : 404, 303, 501...
                    var error = null;
                    switch(xhr.status)
                    {
                        case "301":
                            error = "Redirection Error!";
                            break;
                        case "307":
                            error = "Error, temporary server redirection!";
                            break;
                        case "400":
                            error = "Bad request!";
                            break;
                        case "404":
                            error = "Page not found!";
                            break;
                        case "500":
                            error = "Server is currently unavailable!";
                            break;
                        default:
                            error ="Unespected error, please try again later.";
                    }
                    if(error){
                        alert(error);
                    }
                }
            });
        }
    };
  • 17-03-2016, 15:51:03
    #2
    Mail gönderme işlemi php/process.php dosyası üzerinden yapılmakta bu dosyada işlem yapmalısınız. Bu dosya içerisinde sanırım phpmailer tanımları vardır sadece aşağıdaki örnekteki şekilde smtp bağlantısıyla ilgili tanımlamaları yapabilirsiniz.

    //smtp
    	$posta->IsSMTP();
    	$posta->Host = "mail.domain.com";
    	$posta->SMTPAuth = true; 
    	$posta->Username = "mail@adresi.com";
    	$posta->Password = "mailsifresi";
    	$posta->Port = 587;
    //
  • 18-03-2016, 01:39:30
    #3
    Üyeliği durduruldu
    process.php içeriğini aşağıda paylaşıyorum fakat bir türlü istediğimi yapamadım.
    Yardımcı olabilecek kişilerin desteğini rica ediyorum.

    process.php
    <?php
    include 'class.phpmailer.php';
    $mail = new PHPMailer();
    $mail->IsSMTP();
    $mail->SMTPAuth = true;
    $mail->Host = 'smtp.sitem.com';
    $mail->Port = 587;
    $mail->Username = 'benim@adresim.com';
    $mail->Password = 'çokgizlişifre';
    $mail->SetFrom($mail->Username, 'Benim Adım');
    $mail->AddAddress('alici@adresi.com', 'Alıcının Adı');
    $mail->CharSet = 'UTF-8';
    $mail->Subject = 'Mail Başlığı';
    $mail->MsgHTML('Mailin içeriği!');
    if($mail->Send()) {
    echo 'Mail gönderildi!';
    } else {
    echo 'Mail gönderilirken bir hata oluştu: ' . $mail->ErrorInfo;
    }
    ?>
  • 18-03-2016, 02:56:12
    #4
    @kReys; Aslında kodunuzda gözle görülür bir sorun gözükmüyor. Sorun smtp sunucusuna bağlanma kısmında olabilir. Smtp sunucunuz sadece ssl bağlantıları kabul ediyor olabilir, bağlantıyı reddediyor olabilir, şifreyi veya mail adresini kabul etmiyor olabilir vb. vb. bir çok sebebi olabilir.

    Eğer bağlanmak istediğiniz mail hizmeti gmail vb. büyük mail hizmeti sağlayan firmalar ise bunlarda hesap üzerinde ekstra ayarlamalar ve izinler vermek gerekebilmektedir. Ama normal kendi hostinginizdeki bir mail sunucuya bağlanıyorsanız kodunuzda bir problem gözükmüyor.

    Aşağıdaki kodu kullanarak debug seçeneğini aktif edip sorun hakkında daha detaylı bilgi alabilirsiniz.

    $mail->SMTPDebug = true;
  • 18-03-2016, 03:17:02
    #5
    Üyeliği durduruldu
    Sorunu hallettim teşekkür ederim.
  • 07-04-2016, 13:25:24
    #6
    Üyeliği durduruldu
    Arkadaşlar merhaba,

    Yine SMTP mail hakkında desteğinize ihtiyaç duyuyorum. Aşağıda kodlarını paylaştığım bu kısımda mail gönderimini sağlıyorum fakat mail bana her geldiğinde 2 tane birden geliyor.
    1 tane gelmiyor ayrıca mail içeriğine bakarsanız $message $name kısımları var fakat mesaj içerik kısmını bir türlü yazdıramadım.

    <form id="contact-form" class="contact-form" action="#">
                	<p class="contact-name">
                		<input id="contact_name" type="text" placeholder="Ad Soyad" value="" name="name" />
                    </p>
                    <p class="contact-email">
                    	<input id="contact_email" type="text" placeholder="Mail" value="" name="email" />
                    </p>
                    <p class="contact-message">
                    	<textarea id="contact_message" placeholder="Mesajınız.." name="message" rows="15" cols="40"></textarea>
                    </p>
                    <p class="contact-submit">
                    	<a id="contact-submit" onClick="Send()" class="submit" href="#">Gönder</a>
                    </p>
    <?php
    function mailgonderme($message,$adres,$name,$website) {
        include_once("class.phpmailer.php"); 
        $mail = new PHPMailer();
        $mail->IsSMTP();                                  
        $mail->SetLanguage("tr","language/");
        $mail->CharSet="utf-8";
        $mail->IsHTML(true);
        $mail->Host     = "web.xxxxx.com.tr"; 
        $mail->SMTPAuth = true;    // SMTP_kullaniciadi ile giriş yapılmayacaksa false olması gerekli.
        $mail->Username = "xxx@xxx.net";  
        $mail->Password = "xxx";  
        $mail->From     = "xxx@xxx.net";
        $mail->FromName =  strip_tags($name); // Adınız
        $mail->AddAddress($adres); // mail gideceği adres
        $mail->Subject  =  strip_tags($website);  
        $mail->Body =  strip_tags($message);        
        
        if($mail->Send()) { 
        }
    }
    mailgonderme("$message (Bu mail $name\n isimli ziyaretçi tarafından $email\n mail adresi ile siteniz üzerinden $website\n başlığı altında bırakılmıştır.)","xxx@xxx.net","xxx","Site - Iletisim Formu");
    ?>
  • 07-04-2016, 22:25:11
    #7
    Kimlik doğrulama veya yönetimden onay bekliyor.
    @kReys; hocam, forumda konusunu açmıştım. buradan bakabilirsiniz. istediğiniz gibi ayıklayıp kendinize göre ayarlayabilirsiniz.
  • 08-04-2016, 22:31:50
    #8
    Üyeliği durduruldu
    @saintx; Öncelikle desteğiniz için teşekkür ederim fakat bana yukarıda paylaşmış olduğum kodların düzeltilmiş sorunsuz çalışan hali gerekiyor çünkü html5 bir yapı üzerinde çalıştığım için entegre edebilmem daha kolay olsun.

    Yokmu arkadaşlar yardımcı olabilecek?
  • 10-04-2016, 02:13:58
    #9
    Üyeliği durduruldu
    Sorun devam etmektedir. Desteğinizi rica ediyorum..