2009-08-23 4 views
9

일반/HTML 멀티 파트 메일을 보내려고합니다. 현재 PHP의 mail() 함수를 사용하고 있습니다. 많은 사람들이 PHPMailer를 추천했습니다. 그래서 나는 그것을 줄 것이라고 생각했습니다.PHPMailer는 어떻게 사용합니까? 간단한 튜토리얼을 온라인에서 찾을 수 없습니다.

그러나 모든 것이 요즘처럼 보이기 때문에 매우 복잡해 보입니다. 나는 그것을 다운로드하고 그것을 설치하고 MySQL 연결과 SMTP 연결을 구성하는 것에 대해 이야기한다. 내가하고 싶은 것은 나에게 MIME 이메일을 만들어 보내 줄 수있는 멋진 클래스를 사용하는 것이다. 나는 SMTP 가능성을 이해하지만 모두 너무 복잡해 보입니다!

PHP를 포함하거나 PHP를 다시 컴파일하지 않고 그냥 사용하는 방법이 있습니까? 그런 다음 클래스를 사용하여 전자 메일을 작성하고 보내십시오.

누군가가 간단하게 설명 할 수 있다면 매우 감사하게 생각합니다! 나는 그것이 가능하다는 것을 확신하고 나는 온라인 시간에 대해 정말로 좋은, 간단한 기사가 없다는 것을 내 시간의 검색 후에 믿을 수 없다. 내가해야할 필요가 없다는 것을 알 때 모든 것이 너무 복잡합니다!

+0

당신이 [PHPMailer]와 함께 제공되는 추가 정보를 읽어보세요나요 (https://github.com/PHPMailer/PHPMailer)? 설명대로 HTML 전자 메일을 보내는 간단한 예제가 포함되어 있습니다. 나는 이것이 오래된 질문이지만, PHPMailer 자체에 대한 기본 링크조차도 부족하다는 것을 알고있다. – Synchro

답변

0

SwiftMailer을 대신 시도하십시오.

+0

고마워, 나는 이것이 완벽하게 처음 일하는 것을 얻었다! 멋진 문서들도! :-) –

+0

그런 추천을 한 이유는 무엇입니까? 필자는 phpmailer가 요즘 최고가 아니라고 생각하지만, 나는 정보가 없다. 감사합니다 – Daniel

+0

한 줄, 링크 전용 답변? 이것은 답이 아닙니다. 그것은 OP의 질문을 만지지도 않습니다. – RozzA

4

PHPMailer에 대해 아무것도 몰라요.하지만 Zend_Mail을 사용하는 것이 좋습니다. 여기에 첨부 파일이있는 간단한 예제 : 그것은 아마 당신이 원하는 모든 것을 수행

$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(); 

이 (첨부 파일, HTML, SMTP-구성, ...). 기본적으로 mail() 기능과 마찬가지로 sendmail을 사용하므로 필요없는 경우 SMTP와 같은 것을 구성 할 필요가 없습니다.

또한 설명서가 매우 훌륭하므로 예제를 찾는 데 문제가 없습니다. (this link에서)

+0

젠드 프레임 워크에서 필요한 기능을 어떻게 추출합니까? –

8

예쁜 방식으로, 첫 번째 PHPMailer를 확장하고 사이트에 대한 디폴트 설정 :

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 
    } 
} 

그런 다음 (이 예에서는이 mail.inc.php라는)에 필요한 위의 스크립트를 포함하고 새로 생성을 사용 어딘가에 귀하의 사이트에 my_phpmailer 클래스 :

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

잘 보이지만 링크가 깨졌습니다. – Baumr

+0

PHP가 클래스를 단단히 연결하고 의존성을 도입하는 확장 기능을 많이 사용하는 이유는 무엇입니까? 왜 집계를 사용하지 않을까요? – Vitalij

+0

은 실제로 OP의 질문에 대답하고 코드를 제공 한 것에 대해 높이 평가되었습니다. 이것은 나를 위해 일했다 - 감사합니다! – RozzA