Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

smtp php

Merhaba ben smtp php'yi bir türlü kullanamadım yani çözemedim normal php forum yapıyorum ama bu smtpde nasıl text-input'a göre ekeleme yapıcam bilmiyorum

//new function

$to = "post@example.com";
$nameto = "Who To";
$from = "post@example.com";
$namefrom = "Who From";
$subject = "Hello World Again!";
$message = "World, Hello!";
authSendEmail($from, $namefrom, $to, $nameto, $subject, $message);


/* * * * * * * * * * * * * * SEND EMAIL FUNCTIONS * * * * * * * * * * * * * */

//Authenticate Send - 21st March 2005
//This will send an email using auth smtp and output a log array
//logArray - connection,

function authSendEmail($from, $namefrom, $to, $nameto, $subject, $message)
{
//SMTP + SERVER DETAILS
/* * * * CONFIGURATION START * * * */
$smtpServer = "mail.server.com";
$port = "25";
$timeout = "30";
$username = "smtpusername";
$password = "smtppassword";
$localhost = "localhost";
$newLine = "\r\n";
/* * * * CONFIGURATION END * * * * */

//Connect to the host on the specified port
$smtpConnect = fsockopen($smtpServer, $port, $errno, $errstr, $timeout);
$smtpResponse = fgets($smtpConnect, 515);
if(empty($smtpConnect))
{
$output = "Failed to connect: $smtpResponse";
return $output;
}
else
{
$logArray['connection'] = "Connected: $smtpResponse";
}

//Request Auth Login
fputs($smtpConnect,"AUTH LOGIN" . $newLine);
$smtpResponse = fgets($smtpConnect, 515);
$logArray['authrequest'] = "$smtpResponse";

//Send username
fputs($smtpConnect, base64_encode($username) . $newLine);
$smtpResponse = fgets($smtpConnect, 515);
$logArray['authusername'] = "$smtpResponse";

//Send password
fputs($smtpConnect, base64_encode($password) . $newLine);
$smtpResponse = fgets($smtpConnect, 515);
$logArray['authpassword'] = "$smtpResponse";

//Say Hello to SMTP
fputs($smtpConnect, "HELO $localhost" . $newLine);
$smtpResponse = fgets($smtpConnect, 515);
$logArray['heloresponse'] = "$smtpResponse";

//Email From
fputs($smtpConnect, "MAIL FROM: $from" . $newLine);
$smtpResponse = fgets($smtpConnect, 515);
$logArray['mailfromresponse'] = "$smtpResponse";

//Email To
fputs($smtpConnect, "RCPT TO: $to" . $newLine);
$smtpResponse = fgets($smtpConnect, 515);
$logArray['mailtoresponse'] = "$smtpResponse";

//The Email
fputs($smtpConnect, "DATA" . $newLine);
$smtpResponse = fgets($smtpConnect, 515);
$logArray['data1response'] = "$smtpResponse";

//Construct Headers
$headers = "MIME-Version: 1.0" . $newLine;
$headers .= "Content-type: text/html; charset=iso-8859-1" . $newLine;
$headers .= "To: $nameto <$to>" . $newLine;
$headers .= "From: $namefrom <$from>" . $newLine;

fputs($smtpConnect, "To: $to\nFrom: $from\nSubject: $subject\n$headers\n\n$message\n.\n");
$smtpResponse = fgets($smtpConnect, 515);
$logArray['data2response'] = "$smtpResponse";

// Say Bye to SMTP
fputs($smtpConnect,"QUIT" . $newLine);
$smtpResponse = fgets($smtpConnect, 515);
$logArray['quitresponse'] = "$smtpResponse";
}


Yukarıdaki fonksiyonları bu siteden buldum
Ama ben şunu diyorum diyelim bir form oluşturdum örnek verim

<form name="" id="" method="post"  action="">
      <label >İsim :</label>
      <br />
      <input type="text" name="name" value="" />

      <label >Email :</label>
      <br />
      <input type="text" name="email" value="" />
</form>

diye bir form içerisinde "isim ve mail" var bunları phpde nasıl gönderticem

normal php fonksiyonunda smtp olmayanında böyle

$to = '';

$msg  = "Gönderen		: $name \r\n"; 
$msg .= "E-mail		: $email \r\n";  


bunun gibi yukarıda verdigim smtp fonksiyonuna nasıl ekliyebilirm umarım anlatabilmişimdir yaa çok karıştı kafam :( yardımcı olun lütfen
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Doğru Cevap

  • mrhfcn adlı üyenin fotoğrafı
    13 yıl önce yazılmış
    1 cevap - 5 soru
    Sorunu tam anlamadım ana kısacası kullanımı kolay iletişim formu mu arıyorsun
    • Nirgul adlı üyenin fotoğrafı Nirgul
      Evet ama smtp olması gerekiyor
      13 yıl önce yazılmış
    • mrhfcn adlı üyenin fotoğrafı mrhfcn
      <?
      header( "Content-Type: text/html; charset=iso-8859-9\n" );

      $Name = $_POST["sender_name"]; //senders name
      $email = $_POST["sender_email"]; //senders e-mail adress
      $recipient = "email@hotmail.com"; //recipient
      $subject = $_POST["message"]; //mail body
      $mail_body = $_POST["subject"]; //subject
      $header = "From: ". $Name . " <" . $email . ">\r\n"; //optional headerfields

      ini_set('sendmail_from', 'me@domain.com'); //Suggested by "Some Guy"

      mail($recipient, $subject, $mail_body, $header); //mail command :)
      ?>
      13 yıl önce yazılmış
    • Nirgul adlı üyenin fotoğrafı Nirgul
      Bunu vermeniz iyi oldu burdan yola çıkarak söyleyim yukarıdaki vermiş oldugum kodda çektigim sıkıntı şu

      sizin vermiş oldugunuz kodda form'u mail adresine gönderen bölüm burası text-input'dan çekipde


      $Name = $_POST["sender_name"]; //senders name 
      $email = $_POST["sender_email"]; //senders e-mail adress
      </php
      benim vermiş oldugum kodda neresine ekleme yapıcam
      
      diyelim ben telefon, email, yaş, boy gibi şeyler eklemek istiyorum benim vermiş oldugum koda göre editleme yapabilirmisiniz yada öneri verebilirmisiniz bu arada yardımcı oldugunuz için çok teşekkredrim
      
      <php>
      $to = "post@example.com";
      $nameto = "Who To";
      $from = "post@example.com";
      $namefrom = "Who From";
      $subject = "Hello World Again!";
      $message = "World, Hello!";
      authSendEmail($from, $namefrom, $to, $nameto, $subject, $message);
      
      13 yıl önce yazılmış
    • mrhfcn adlı üyenin fotoğrafı mrhfcn
      genel mail formatında gönderenin mailadresi konu başlığı ve mesaj gönderilecek kişinin mail adresine gönderilir.
      sende ad soyad boy yaş gibi özellikleri textareanın içerisine yazıp textareanın name ' ine mesaj yazarsan yukarıdaki message kısmında ozellikler gönderilir.

      $to = "post@example.com";
      $nameto = "Who To";
      $from = "post@example.com";
      $namefrom = "Who From";
      $subject = "$_post['mesaj']";
      $message = "World, Hello!";
      authSendEmail($from, $namefrom, $to, $nameto, $subject, $message);
      13 yıl önce yazılmış
    • mrhfcn adlı üyenin fotoğrafı mrhfcn
      textareanın içine eklemeyip ayrı ayrı soracam yaşını özelliklerini diyorsan ince inputla hepsini teker teker çek sonra tek string olarak birleştir ve değişkeni $subject değişkenine eşitle.
      inşallah anlatabilmişimdir...
      13 yıl önce yazılmış
    • mrhfcn adlı üyenin fotoğrafı mrhfcn
      <textarea name="mesaj" >buraya en boy gibibilgileri yazsınlar</textarea>
      daha sonra
      $subject="$_post['mesaj']"; ilepost edersen olacak.

      $subject değişkeninin içine birden fazla değer atamazsın.odeğerleri textarea ile yazdır bence.ama illa herbiriniayrı ayrı girdircemdiosan

      <input type="text" name="boy" value="" />
      <input type="text" name="kilo" value="" /> vb yapacaksan

      $mesaj="$_post['boy'].' '.$_post['kilo']";
      $subject="$mesaj";

      Az kaldı olacak :)
      13 yıl önce yazılmış
    • Nirgul adlı üyenin fotoğrafı Nirgul
      xD inşallah olucak gercekten çekine çekine yzıyorum bu son analamazsam rahatsız etmem bida :)

      Bu html form'um olsun
      <form name="" id="" method="post"  action="">
            <label >İsim :</label>
            <br />
            <input type="text" name="name" value="" />
      
            <label >Email :</label>
            <br />
            <input type="text" name="email" value="" />
      
            <label >Boy :</label>
            <br />
            <input type="text" name="boy" value="" />
      
            <label >Saç rengi :</label>
            <br />
            <input type="text" name="sacrengi" value="" />
      </form>
      


      gibi bir forum oluşturdum diyelim

      buda php gönder olsun
      $to = "post@example.com"; 
      $name = "$_post['name']"; 
      $email = "$_post['email']"; 
      $boy = "$_post['boy']"; 
      $sacrengi = "$_post['sacrengi']"; 
      authSendEmail($from, $namefrom, $to, $nameto, $subject, );
      


      bu şekilde çektirsem olrmu formu yani
      13 yıl önce yazılmış
    • mrhfcn adlı üyenin fotoğrafı mrhfcn
      $to = "post@example.com";
      2 $name = "$_post['name']";
      3 $email = "$_post['email']";
      4 $boy = "$_post['boy']";
      5 $sacrengi = "$_post['sacrengi']";
      $subject=$boy.' '.$sacrengi; bunu da biekle ve dene
      6 authSendEmail($from, $namefrom, $to, $nameto, $subject, );
      13 yıl önce yazılmış
    • Nirgul adlı üyenin fotoğrafı Nirgul
      Teşekkürler yaptım :)
      13 yıl önce yazılmış

Cevaplar

  • GncArt adlı üyenin fotoğrafı
    13 yıl önce yazılmış
    42 cevap - 13 soru
    Kullanımı basit bir form-mail örneği:
    PHP ile verileri alabilmemiz için eklediğimiz inputlara "name" ile bir isim vermemiz gerekir.

    İçerik: index.php
    <form action="gonder.php" method="post">
    
    <label>Adınız:<label><br>
    <input type="text" name="ad">
    
    <label>E-Mail<label><br>
    <input type="text" name="email">
    
    <label>Konu:<label><br>
    <input type="text" name="konu">
    
    <label>Mesaj:<label><br>
    <textarea name="mesaj"></textarea>
    
    <br><br>
    <input type="submit" value="Gönder">
    </form>
    


    İçerik: gonder.php
    $ad = $_POST['ad']; // name değeri "ad" olan veriyi aldık.
    $email = $_POST['email']; // name değeri "email" olan veriyi aldık.
    $konu = $_POST['konu']; // name değeri "konu" olan veriyi aldık.
    $mesaj = $_POST['mesaj']; // name değeri "mesaj" olan veriyi aldık.
    
    
    $to = "gncart@xxxxxxmail.com"; // Mailin gideciği adres
    $subject = "Yeni Bir Mesajınız Var"; // Mail Başlığı
    $header = "From: <$email>"; // Gönderen kısmında gözükecek değer isim de yazdırabilirsiniz. (<$ad>)
    
    // Mail İçeriği
    $msg = "---GÖNDERENİN--- \r\n";
    $msg.= "Adı: $ad  \r\n";
    $msg.= "E-Mail: $email \r\n";
    $msg.= "Konu: $konu";
    $msg.= "Mesaj:-------------------  \r\n"; 
    $msg.= "$mesaj";
    
    // Mail Gönderme
    if(mail($to,$subject,$msg,$header)){
    echo "Mailiniz başarılı olarak gönderildi...";
    }else{
    echo "Bir hata oldu. Tekrar deneyiniz";
    }
    
    • GncArt adlı üyenin fotoğrafı GncArt
      Ayrıca SMTP (Simple Mail Transfer Protokole) yi siz oluşturmazsınız. SMTP sunucuda yüklü olur veya olmaz. Eğer sunucunun SMTP desteği varsa yukarıda yazdığım kod ile başarılı bir şekilde email gönderme işlemini tamamlarsınız.

      Günümüzde hotmail, mynet, gmail, yahoo gibi email sağlayıcılar SMTP ile yollanan mailleri desteklemektedir.
      13 yıl önce yazılmış
    • Nirgul adlı üyenin fotoğrafı Nirgul
      Teşekkürler cevabın için bunu bende yaptım yanlız benim host bunu kabul etmiyor smtp kontrollü olması gerekiyor çalıştırmıyor normal form'u gönder.php'nin smtp kontrolü olması gerek
      13 yıl önce yazılmış
    • Nirgul adlı üyenin fotoğrafı Nirgul
      aslında yukarda yazıştıklarımıza baksanız nedemek istedigimi anlıyabilirsiniz sanırım biraz anlatamadımda ben :)
      13 yıl önce yazılmış
    • mrhfcn adlı üyenin fotoğrafı mrhfcn
      $to = "post@example.com";
      2 $name = "$_post['name']";
      3 $email = "$_post['email']";
      4 $boy = "$_post['boy']";
      5 $sacrengi = "$_post['sacrengi']";
      $subject=$boy.' '.$sacrengi; bunu da biekle ve dene
      6 authSendEmail($from, $namefrom, $to, $nameto, $subject, );
      13 yıl önce yazılmış
    • siyahbeyaz adlı üyenin fotoğrafı siyahbeyaz
      http://www.uzmansorusu.com/soru/681 smpt calısmıyorsa gmail hesabın uzerınden mail atablirsin. verdigim linkte phpgmailer class larını paylastım..
      13 yıl önce yazılmış