Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/10/2013, 05:31
quico5
 
Fecha de Ingreso: enero-2008
Mensajes: 580
Antigüedad: 16 años, 3 meses
Puntos: 9
Enviar varios adjuntos con class.phpmailer

No consigo mandar mas de un adjunto, gracias

Código HTML:
<!-- print_r() Imprime un array -->
<!DOCTYPE html>
<html class="no-js">
<head>
	<meta charset="utf-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
	<title></title>
	<meta name="description" content="">
	<meta name="viewport" content="width=device-width">
<!--
	<link rel="stylesheet" href="css/bootstrap.min.css">
	<link rel="stylesheet" href="css/bootstrap-theme.min.css">
	<link rel="stylesheet" href="js/vendor/bootstrap.min.js">
-->
	<link rel="stylesheet" href="http://getbootstrap.com/dist/css/bootstrap.css">
	<link rel="stylesheet" href="http://getbootstrap.com/dist/css/bootstrap-theme.css">
	<script rel="stylesheet" href="http://getbootstrap.com/dist/js/vendor/bootstrap.js"></script>

	<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
	<script>window.jQuery || document.write('<script src="front/js/libs/jquery-1.8.2.min.js"><\/script>')</script>

	<style type="text/css">
		body {
			margin: 50px 0;
		}
	</style>
</head>
<body>

	<div class="container">
		<div class="panel panel-default"><div class="panel-heading text-center">ENVIAR CORREOS DESDE PHP</div><div class="panel-body text-center">
			<?php if (!extract($_POST)) { ?>
				<form method="post" enctype="multipart/form-data">

					<div class="input-group col-sm-6" style="padding:0;">
						<span class="input-group-addon" style="border-bottom-left-radius:0;">
							<span class="glyphicon glyphicon-font"></span>
						</span>
						<input type="text" class="form-control" style="border-radius:0;" placeholder="Asunto:" name="asunto" title="Asunto" required>
					</div>

					<div class="prettyFile" style="padding:0;">
						<!--input type="file" name="archivo" multiple="multiple" style="display:none;"-->
						<input type="file" name="archivo[]" multiple="multiple" style="display:none;">
						<div class="input-group">
						<span class="input-group-addon" style="border-radius:0;">
							<span class="glyphicon glyphicon-paperclip"></span>
						</span>
						<input type="text" class="form-control" style="border-radius:0;" placeholder="Adjuntos:" name="adjuntos" title="Adjuntos" required>
						<span class="input-group-btn">
								<button class="btn btn-default" type="button" style="border-bottom-right-radius:0; width:80px;">Adjuntar</button>
							</span>
						</div>
					</div>

					<div class="col-sm-12" style="padding:0;">
						<textarea class="form-control" style="border-radius:0; height:150px; resize:none" placeholder="Mensaje:" name="mensaje" required></textarea>
					</div>

					<div class="input-group col-sm-6" style="padding:0;">
						<span class="input-group-addon" style="border-top-left-radius:0;">
							<span class="glyphicon glyphicon-user"></span>
						</span>
						<input type="text" class="form-control" style="border-radius:0;" placeholder="Nombre:" name="nombre" title="Arturo" required>
					</div>

					<div class="col-sm-6" style="padding:0;">
						<div class="input-group">
						<span class="input-group-addon" style="border-radius:0;">
							<span class="glyphicon glyphicon-envelope"></span>
						</span>
								<input type="email" class="form-control" style="border-radius:0;" placeholder="Email:" name="email" title="[email protected]" required>
								<span class="input-group-btn"-->
									<button type="submit" class="btn btn-default" style="border-left:0; border-top-right-radius:0; width:80px;">Enviar</button>
								</span>
						</div>
					</div>
				</form>
			<?php } else {

				require 'class.phpmailer.php';//Lo primero es incluir la clase en vuestro php
				//require 'class.smtp.php';
				$mail = new phpmailer();//Instanciamos un objeto de la clase phpmailer
				$mail -> PluginDir = "";//Indicamos a la clase phpmailer donde se encuentra la clase smtp
				$mail -> Mailer = "smtp";//Indicamos que vamos a conectar por smtp
				$mail -> Host = "ssl://smtp.gmail.com";//Servidor smtp de gmail. Como ves usamos cifrado ssl
				$mail -> Port = "465";//Puerto de gmail 465
				$mail -> SMTPAuth = true;// Enable SMTP authentication

				//Le indicamos que el servidor smtp requiere autenticación
				$mail -> Username = '***@gmail.com';// SMTP username
				$mail -> Password = '***';// SMTP password
				$mail -> SMTPSecure = 'ssl';// Enable encryption, 'ssl' also accepted

				$mail -> From = $email;
				$mail -> FromName = 'Quico';

				$mail -> addAddress($email, $nombre);
				$mail->addAddress('***@gmail.com', 'Quico');// Añadir más destinatarios
				$mail->addReplyTo('***@gmail.com', 'Quico');//Añadir dirección de respuesta
				//$mail->addCC('[email protected]');//Añadir CC
				//$mail->addBCC('[email protected]');//Añadir CCO
				$mail -> Subject = $asunto;// Asunto, cuerpo del mensaje y cuerpo plano sin formato
				$mail -> Body = $mensaje;//puede incluir html, podéis cogerlo de un form...
				//$mail -> AltBody = 'Cuerpo del mensaje en texto plano';

				$mail->addAttachment($_FILES['archivo']['tmp_name'], $_FILES['archivo']['name']);// Añadir adjuntos
				//$mail->addAttachment('/tmp/image.jpg', 'new.jpg');// Añadir adjuntos

				$mail->isHTML(true);//Indicar el formato del correo

			?>
				<div class="row">
					<div class="col-sm-offset-2  col-sm-8">
						<form method="post">
							<div class="input-group">
								<span class="input-group-addon">
									<?php

										//Envio
										if (!$mail -> send()) {
											echo 'No se pudo mandar el mensaje. ';
											echo 'Mailer Error: ' . $mail -> ErrorInfo;
											//exit;
										} else {
											echo 'El mensaje ha sido enviado.';
										}

									?>
								</span>
								<button type="submit" class="btn btn-default form-control">Volver</button>
							</div>
						</form>
				 </div>
				</div>
			<?php } ?>
			</div>
		</div>
	</div>

	<script type="text/javascript">
		// Pretty file
		if ($('.prettyFile').length) {
				$('.prettyFile').each(function() {
						var pF          = $(this),
								fileInput   = pF.find('input[type="file"]');
		 
						fileInput.change(function() {
								// When original file input changes, get its value, show it in the fake input
								var files = fileInput[0].files,
										info  = '';
								if (files.length > 1) {
										// Display number of selected files instead of filenames
										info     = files.length + ' files selected';
								} else {
										// Display filename (without fake path)
										var path = fileInput.val().split('\\');
										info     = path[path.length - 1];
								}
		 
								pF.find('.input-group input').val(info);
						});
		 
						pF.find('.input-group').click(function(e) {
								e.preventDefault();
								// Make as the real input was clicked
								fileInput.click();
						})
				});
		}
	</script>

</body>
</html>