2010-12-15 9 views
1

여기 내가해야 할 일이 있습니다. 맞춤 이메일을 동적으로 생성 할 수 있어야합니다. PHP의 mail() 함수를 사용하고 있지만 phpmailer 또는 Zendmail을 사용해 보도록 권장되었습니다. 하지만 맞춤 이메일을 처리 할 수있는 것 같지 않습니다.다이나믹 값이있는 HTML 메일

필요한 것은 양식에서 값을 가져 와서 메시지 본문에 삽입 할 수 있어야합니다. 내가 해왔 :

$message = '<html><body><p>First name: ' $first . '<br/><br/>'; 
$message .= ...(rest of message) 

은 그럼 내가 수행

mail($recipient, $subject, $message, $headers);를 HTML에 적합한 헤더를 사용하여.

phpmailer 또는 Zendmail을 사용하여 내가 원하는 것을 할 수있는 방법이 있습니까? OOP에서이 작업을 수행하는 방법이 있나요? 오랜 시간이 걸리는 페이지를 개선 할 수 있습니까? 나는 약간의 안내에 감사 할 것입니다.

+0

일반적으로 말하자면, Zend_Mailer는 mail()과 거의 비슷합니다. 메시지를 작성하여 보냅니다. 어떤 부분에 문제가 있습니까? –

+0

phpmailer 나 Zendmail로 원하는 것을 할 수없는 이유는 무엇입니까? 또한 HTML의 텍스트를 표시하지 않으려면 현재 메일을 보내는 방법이 올바르지 않습니다. – Brad

+0

올바른 헤더를 사용하면 HTML이 표시되지 않습니다. 형식화 된 콘텐츠. HTML 메일에 표시 할 값을 가져올 수 없습니다. 동적 값을 삽입해야하는 공백이 생깁니다. – sehummel

답변

2

아래의 코드를 시도 할 수 phpmailer를 사용.

$message = '<html><body><p>First name: '. $first . '<br/><br/>'; 

$mailer = new PHPMailer(); 
// other fields/properties 
$mailer->Subject = $subject; 
$mailer->AddAddress($receipient); 
$mailer->IsHTML(true); 
$mailer->Body = $message; 
$mailer->Send(); 

제대로 작동하려면 다른 입력란을 설정해야합니다.

+0

'$ first '앞에'.'를 잊어 버렸습니다. – Jonah

+0

Scartag, 나는 그것을 시도하고 동적 값을 무시합니다. 다른 생각들? – sehummel

+0

@ shummel7845 : 변수가 비어 있습니다. 이유를 찾아야합니다. – Jonah

0

예, 메일 라이브러리가있는 주요 요점 중 하나는 복잡한 이메일을 쉽게 작성할 수 있다는 것입니다. 나는 또한 SwiftMailer를 추천 할 것이다.

http://swiftmailer.org