Usando o swiftmailer e enviando anexos
Eu estou tentando modificar um script para enviar um email com um anexo. Ele funciona agora, mas todos os campos são necessários e eu estava me perguntando o que estou perdendo para fazer com que os campos não sejam necessários.
<?php
if (($_POST)) {
$success = $error = false;
$post = new stdClass;
foreach ($_POST as $key => $val)
$post->$key = trim(strip_tags($_POST[$key]));
$dir = dirname(__FILE__);
ob_start();
require_once($dir.'/html.php');
$html_message = ob_get_contents();
ob_end_clean();
require_once($dir.'/swift/swift_required.php');
$mailer = new Swift_Mailer(new Swift_MailTransport());
$message = Swift_Message::newInstance()
->setSubject('Imperial Order') // Message subject
->setTo(array($post->email => $post->name, '[email protected]' => 'Janet McCauley')) // Array of people to send to
->setFrom(array('[email protected]' => 'Imperial Order'))
->setBody($html_message, 'text/html') // Attach that HTML message from earlier
->attach(Swift_Attachment::fromPath($_FILES['attachment']['tmp_name'])->setFilename($_FILES['attachment']['name']));
// Send the email, and show user message
if ($mailer->send($message))
$success = true;
else
$error = true;
}
?>
Eu acredito que tem algo a ver com o foreach, mas se eu tentar retirá-lo, ele quebra todo o código. Se alguém puder dar uma ajuda, seria óptimo. A razão pela qual estou retirando a validação é porque estou querendo fazer isso no lado do cliente, em vez de no lado do servidor.