2009-08-23 23 views
9

Ben bir düz/HTML multipart e-posta göndermeye çalışıyorum ve şu anda PHP'nin mail() işlevini kullanıyorum. Birçok kişi PHPMailer'i tavsiye etti, bu yüzden bunu bir vereyim diye düşündüm. Bununla birlikte, bugünlerde her şey olduğu gibi, çok karmaşık görünmektedir. Onu indirdim ve yükleme ve MySQL bağlantıları ve SMTP bağlantılarını yapılandırma hakkında konuşuyor !? Tek yapmak istediğim, MIME e-postalarını benim için oluşturacak ve gönderecek güzel bir sınıf kullanmak! SMTP olasılıklarını anlıyorum ama hepsi çok karmaşık görünüyor!PHPMailer'i nasıl kullanırım? Ben çok basit bir öğretici bulamıyorum online

Sadece onu kullanarak bir yolu var mı, örneğin, bir php dosyası (hiçbir sunucu yükleme veya PHP yeniden derleme!) Ve sonra sadece e-posta oluşturmak ve göndermek için sınıf kullanarak?

Eğer birisi basit bir şeyleri açıklayabilirse çok minnettar olurum! Eminim ki mümkün ve arama saatlerimden sonra, internette gerçekten iyi ve basit bir makale bulunmadığına inanamıyorum. Olması gerekmediğinde her şey çok karmaşık!

+0

sen [PHPMailer] ile sağlanan readme okuma deneyin mü (https://github.com/PHPMailer/PHPMailer)? Tam olarak açıkladığınız gibi bir HTML e-postası göndermenin basit bir örneğini içerir. Bunun eski bir soru olduğunu biliyorum, ama PHPMailer'ın kendisi için bile temel bir bağlantıya sahip değil! – Synchro

cevap

0

Bunun yerine SwiftMailer deneyin.

+0

Teşekkürler, ilk kez mükemmel çalışıyorum! Harika dokümanlar da var! :-) –

+0

Neden böyle bir öneride bulunduğunu sorabilir miyim? Bence phpmailer bugünlerde en iyisi değil, ama ben de bilgisizim. Teşekkürler – Daniel

+0

tek bir satır, sadece bağlantı? BU CEVAP DEĞİLDİR. OP'nin sorusuna bile değinmiyor. – RozzA

4

PHPMailer hakkında hiçbir şey bilmiyorum, ancak Zend_Mail kullanmanızı öneririm. İşte bir eki olan basit bir örnek: Muhtemelen istediğiniz her şeyi yapar

$mail = new Zend_Mail(); 
$mail->setBodyText('This is the text of the mail.'); 
$mail->createAttachment($myImage, 
         'image/gif', 
         Zend_Mime::DISPOSITION_INLINE, 
         Zend_Mime::ENCODING_8BIT); 
$mail->setFrom('[email protected]', 'Some Sender'); 
$mail->addTo('[email protected]', 'Some Recipient'); 
$mail->setSubject('TestSubject'); 
$mail->send(); 

(Ekler, HTML, SMTP-Yapılandırma, ...). Varsayılan olarak, mail() işlevi gibi sendmail işlevini kullanır, buna ihtiyacınız yoksa SMTP gibi bir yapılandırmanız gerekmez.

Ayrıca, çok iyi belgelere sahiptir, bu nedenle örnekler bulma konusunda sorun yaşamazsınız. (this link itibaren)

+0

Gerekli fonksiyonları Zend çerçevesinden nasıl alırım? –

8

Pretty yolu, ilk PHPMailer uzatmak ve siteniz için varsayılan ayarlayın:

require("class.phpmailer.php"); 

class my_phpmailer extends phpmailer { 
    // Set default variables for all new objects 
    var $From  = "[email protected]"; 
    var $FromName = "Mailer"; 
    var $Host  = "smtp1.example.com;smtp2.example.com"; 
    var $Mailer = "smtp";       // Alternative to IsSMTP() 
    var $WordWrap = 75; 

    // Replace the default error_handler 
    function error_handler($msg) { 
     print("My Site Error"); 
     print("Description:"); 
     printf("%s", $msg); 
     exit; 
    } 

    // Create an additional function 
    function do_something($something) { 
     // Place your new code here 
    } 
} 

Sonra (bu örnekte bunun mail.inc.php adlı) gerekli Yukarıdaki komut dosyasını dahil ve yeni oluşturulan kullanmak bir yere sitenizde my_phpmailer sınıfı:

require("mail.inc.php");//or the name of the first script 

// Instantiate your new class 
$mail = new my_phpmailer; 

// Now you only need to add the necessary stuff 
$mail->AddAddress("[email protected]", "Josh Adams"); 
$mail->Subject = "Here is the subject"; 
$mail->Body = "This is the message body"; 
$mail->AddAttachment("c:/temp/11-10-00.zip", "new_name.zip"); // optional name 

if(!$mail->Send()) 
{ 
    echo "There was an error sending the message"; 
    exit; 
} 

echo "Message was sent successfully"; 
+0

İyi görünüyor ama bağlantı bozuk – Baumr

+0

Neden PHP'de çok sıkı bir sınıf kullanıyorsunuz, bu da sıkıca sınıfları birleştiriyor ve bağımlılıklar sunuyor, neden bunun yerine toplama kullanmıyorsunuz? OP'nin sorusunu cevaplamak ve kod sağlamak için – Vitalij

+0

çok beğenildi. Bu benim için çalıştı - teşekkürler! – RozzA