2009-09-24 2 views
0

У меня есть одна форма (input.html), которую заполняют люди, работающие в пяти разных подразделениях этого бизнеса. Когда форма отправляется, она отправляется на output.php.Мне нужно прикрепить файл к исходящему письму автоматически ... Help

Output.php делает несколько вещей: Сначала он отображает всю входную информацию на экран в виде заполненной формы. (Просто, чтобы показать им их завершенный документ).

Он также создал файл с именем unique_file.html на основе двух полей ввода в input.html.

Затем output.php отправил электронное письмо в одну из пяти групп электронной почты на основе другого поля ввода, выбранного в input.html.

Наконец (на данный момент), мне нужно, чтобы unique_file.html был прикрепленным к письму. Это моя проблема.

Я нашел скрипты для загрузки файлов, я нашел много учебников по загрузке файлов, но я просто хочу приложить уникальный_файл.html к моему исходящему письму, и я не вижу, как это делается.

Может ли кто-нибудь указать мне в правильном направлении, с чего начать? Я, конечно, скучаю по этой лодке, и я, наверное, видел ее и не понял.

ответ

0

Если вы можете использовать Zend_Framework вы можете легко прикрепить файл к электронному сообщению т.е.

$mail = new Zend_Mail(); 

$at = new Zend_Mime_Part($myImage); 
$at->type  = 'image/gif'; 
$at->disposition = Zend_Mime::DISPOSITION_INLINE; 
$at->encoding = Zend_Mime::ENCODING_8BIT; 
$at->filename = 'test.gif'; 

$mail->addAttachment($at); 

$mail->send(); 

ВИДЕТЬ documentation, Вы должны иметь возможность прикрепить файл также с помощью Mail_Mime груши пакета и нормальной mail функции ,

Но я думаю, что решение с использованием рамки Zend намного более прямолинейно.

Cheers.

0

Я нахожу PHPMailer наилучшим образом для этого. A example from their site:

require_once('../class.phpmailer.php'); 

$mail    = new PHPMailer(); // defaults to using php "mail()" 

$body    = file_get_contents('contents.html'); 
$body    = eregi_replace("[\]",'',$body); 

$mail->AddReplyTo("[email protected]","First Last"); 

$mail->SetFrom('[email protected]', 'First Last'); 

$mail->AddReplyTo("[email protected]","First Last"); 

$address = "[email protected]"; 
$mail->AddAddress($address, "John Doe"); 

$mail->Subject = "PHPMailer Test Subject via mail(), basic"; 

$mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test 

$mail->MsgHTML($body); 

$mail->AddAttachment("images/phpmailer.gif");  // attachment 
$mail->AddAttachment("images/phpmailer_mini.gif"); // attachment 

if(!$mail->Send()) { 
    echo "Mailer Error: " . $mail->ErrorInfo; 
} else { 
    echo "Message sent!"; 
} 
Смежные вопросы