> Faqs > Enviar por mail archivogenerado PDF

Enviar por mail archivogenerado PDF

Estoy usando html, mysql, php y fpdf para almacenar y enviar datos en forma de archivo pdf a un correo especifico, he probado varios método y no lo he conseguito, pueden orientarme al respecto.

Mi codigo lo agrego a continuación. almacena correctamente en la base de mysql, crea el archivo historia_clinica.pdf, pero no lo adjunta al mail para enviarlo. Es un archivo llamado mail.php. Gracias de antemano.

<?php 

	date_default_timezone_set('America/Mexico_City');
	
	include("con_db_nutriant.php");

	if (isset($_POST['enviar'])) {
		$nombre = trim($_POST['nombre']);
		$apellidos = trim($_POST['apellidos']);
		$fcita = trim($_POST['fcita']);
		$hcita = trim($_POST['hcita']).':00';
		$genero = trim($_POST['genero']);
		$edad = trim($_POST['edad']);
		$fnacimiento = trim($_POST['fnacimiento']);
		$edocivil = trim($_POST['edocivil']);

		if (isset($_POST["hijos"])) {
			$nohijos = $_POST["hijos"];
		}
		
		$ocupacion = trim($_POST['ocupacion']);
		$horariotrab = trim($_POST['htrabajo']);
		$telefono = trim($_POST['telefono']);
		$tratapeso = trim($_POST['tratamientos']);
		$enfermedad = trim($_POST['enfermedades']);
		$parterial = trim($_POST['presion']);
		$cirugias = trim($_POST['cirugias']);
		$digestion = trim($_POST['digestion']);
		$ptiroides = trim($_POST['tiroides']);
		$mediact = trim($_POST['medicamento']);
		$quemediact = trim($_POST['cualmedic']);
		$mediactmotivo = trim($_POST['motivomedic']);
		$actfisica = trim($_POST['afisica']);
		$queactfis = trim($_POST['qafisica']);
		$frecactfis = trim($_POST['afisicafrec']);
		$pesomintresa = trim($_POST['pesomin']);
		$alcohol = trim($_POST['alcohol']);
		$alcoholfrec = trim($_POST['frecalcohol']);
		$fuma = trim($_POST['fuma']);
		$fumafrec = trim($_POST['frecfuma']);
		$fumanocigarros = trim($_POST['cigarros']);
		$mestruaregu = trim($_POST['mestruacion']);
		$mestruanoregumot = trim($_POST['motmestruacion']);
		$anticonceptivo = trim($_POST['hormonales']);
		$queanticonceptivo = trim($_POST['chormonal']);

		if (isset($_POST["enfermedadf"])) {
			$casillasSeleccionadas = $_POST["enfermedadf"];
		
			// Definir un array asociativo para almacenar los valores seleccionados
			$enfermedadesSeleccionadas = array(
				'HIPERTENSIÓN' => false,
				'DIABETES' => false,
				'HIPO O HIPERTIROIDISMO' => false,
				'SOBREPESO' => false,
				'CÁNCER' => false,
				'OTRA(S)' => false,
				'NINGUNA' => false
			);
		
			// Marcar como seleccionadas las enfermedades que están en el array
			foreach ($casillasSeleccionadas as $enfermedadfam) {
				if (array_key_exists($enfermedadfam, $enfermedadesSeleccionadas)) {
					$enfermedadesSeleccionadas[$enfermedadfam] = true;
				}
			}
		
			// Ahora puedes acceder a las variables individuales
			$hipertension = $enfermedadesSeleccionadas['HIPERTENSIÓN'];
			$diabetes = $enfermedadesSeleccionadas['DIABETES'];
			$hiptiroidismo = $enfermedadesSeleccionadas['HIPO O HIPERTIROIDISMO'];
			$sobrepeso = $enfermedadesSeleccionadas['SOBREPESO'];
			$cancer = $enfermedadesSeleccionadas['CÁNCER'];
			$oenfermedad = $enfermedadesSeleccionadas['OTRA(S)'];
			$nenfermedad = $enfermedadesSeleccionadas['NINGUNA'];
		}
		
		$qotraenfermedad = trim($_POST['otraenfermedadfam']);
		$padece = trim($_POST['padece']);
		$refresco = trim($_POST['refresco']);
		$refrescofrec = trim($_POST['frefresco']);
		$refrescocantidad = trim($_POST['crefresco']);
		$agua = trim($_POST['agua']);
		$fruta = trim($_POST['fruta']);
		$alergico = trim($_POST['alergico']);
		$comida = trim($_POST['come']);
		$fregistro = date ('Y-m-d');
		$hregistro = date('H:i:s', time());

		$consulta = "INSERT INTO tbl_historialcli(nombre, apellidos, fcita, hcita, genero, edad, fnacimiento, edocivil, nohijos, horariotrab, telefono, tratapeso, enfermedad, parterial, cirugias, digestion, ptiroides, mediact, quemediact, mediactmotivo, actfisica, queactfis, frecactfis, pesomintresa, alcohol, alcoholfrec, fuma, fumafrec, fumanocigarros, mestruaregu, mestruanoregumot, anticonceptivo, queanticonceptivo, hipertension, diabetes, hiptiroidismo, sobrepeso, cancer, oenfermedad, nenfermedad, qotraenfermedad, padece, refresco, refrescofrec, refrescocantidad, agua, fruta, alergico, comida, fregistro, hregistro) VALUES ('$nombre', '$apellidos', '$fcita', '$hcita', '$genero', '$edad', '$fnacimiento', '$edocivil', '$nohijos', '$horariotrab', '$telefono', '$tratapeso', '$enfermedad', '$parterial', '$cirugias', '$digestion', '$ptiroides', '$mediact', '$quemediact', '$mediactmotivo', '$actfisica', '$queactfis', '$frecactfis', '$pesomintresa', '$alcohol', '$alcoholfrec', '$fuma', '$fumafrec', '$fumanocigarros', '$mestruaregu', '$mestruanoregumot', '$anticonceptivo', '$queanticonceptivo', '$hipertension', '$diabetes', '$hiptiroidismo',	'$sobrepeso', '$cancer', '$oenfermedad', '$nenfermedad', '$qotraenfermedad', '$padece', '$refresco', '$refrescofrec', '$refrescocantidad', '$agua', '$fruta', '$alergico', '$comida', '$fregistro', '$hregistro')";
		
		/*echo "Este es el insert: $consulta";*/
		
		$resultado = mysqli_query($conn,$consulta);

		/*echo "Este es el resultado: $resultado"; */

		// Crear archivo PDF
		require('fpdf.php');
    
		$pdf = new FPDF();
		$pdf->AddPage();
		$pdf->SetFont('Arial','B',16); 
		$pdf->Image('images/logo.PNG' , 140 ,10, 35, 18, 'PNG');
		//$pdf->SetY(30);
		$pdf->SetFont('Arial','B',16); 
		$pdf->Cell(60,10,utf8_decode('Historial Clínico'));
		$pdf->ln();
		$pdf->SetFont('Arial','B',12); 
		$pdf->Cell(60,10,utf8_decode('Registro'));
		$pdf->ln();
		$pdf->SetFont('Arial','B',9); 
		$pdf->Cell(80,6,'Nombre:');
		$pdf->Cell(100,6,'' . $nombre, 1);
		$pdf->ln();
		$pdf->Cell(80,6,'Apellidos:');
		$pdf->Cell(100,6,'' . $apellidos, 1);
		$pdf->ln();
		$pdf->Cell(80,6,utf8_decode('Género:'));
		$pdf->Cell(100,6,'' . $genero, 1);
		$pdf->ln();
		$pdf->Cell(80,6,'Edad:');
		$pdf->Cell(100,6,'' . $edad, 1);
		$pdf->ln();
		$pdf->Cell(80,6,'Fecha de nacimiento:');
		$pdf->Cell(100,6,utf8_decode('' . $fnacimiento), 1);
		$pdf->ln();
		$pdf->Cell(80,6,'Estado civil:');
		$pdf->Cell(100,6,utf8_decode('' . $edocivil), 1);
		$pdf->ln();
		$pdf->Cell(80,6,utf8_decode('Número de hjos:'));
		$pdf->Cell(100,6,utf8_decode('' . $nohijos), 1);
		$pdf->ln();
		$pdf->Cell(80,6,utf8_decode('Horario de trabajo:'));
		$pdf->Cell(100,6,utf8_decode('' . $horariotrab), 1);
		$pdf->ln();
		$pdf->Cell(80,6,utf8_decode('Teléfono/WhatsApp:'));
		$pdf->Cell(100,6,utf8_decode('' . $telefono), 1);
		$pdf->ln();
		$pdf->Cell(80,6,utf8_decode('Tratamientos de reducción peso:'));
		$pdf->Cell(100,6,utf8_decode('' . $tratapeso), 1);
		$pdf->ln();
		$pdf->Cell(80,6,utf8_decode('Enfermedades destacadas:'));
		$pdf->Cell(100,6,utf8_decode('' . $enfermedad), 1);
		$pdf->ln();
		$pdf->Cell(80,6,utf8_decode('Su presión arterial es:'));
		$pdf->Cell(100,6,utf8_decode('' . $parterial), 1);
		$pdf->ln();
		$pdf->Cell(80,6,utf8_decode('Cirugías que le hayan realizado:'));
		$pdf->Cell(100,6,utf8_decode('' . $cirugias), 1);
		$pdf->ln();
		$pdf->Cell(80,6,utf8_decode('Su digestión es:'));
		$pdf->Cell(100,6,utf8_decode('' . $digestion), 1);
		$pdf->ln();
		$pdf->Cell(80,6,utf8_decode('Problemas de la tiroides:'));
		$pdf->Cell(100,6,utf8_decode('' . $ptiroides), 1);
		$pdf->ln();
		$pdf->Cell(80,6,utf8_decode('Toma medicamento, vitaminas, suplemento:'));
		$pdf->Cell(100,6,utf8_decode('' . $mediact), 1);
		$pdf->ln();
		$pdf->Cell(80,6,utf8_decode('¿Cúal(es)?'));
		$pdf->Cell(100,6,utf8_decode('' . $quemediact), 1);
		$pdf->ln();
		$pdf->Cell(80,6,utf8_decode('¿Realiza alguna actividad física?'));
		$pdf->Cell(100,6,utf8_decode('' . $actfisica), 1);
		$pdf->ln();
		$pdf->Cell(80,6,utf8_decode('¿Qué actividad física realiza?'));
		$pdf->Cell(100,6,utf8_decode('' . $queactfis), 1);
		$pdf->ln();
		$pdf->Cell(80,6,utf8_decode('¿Con qué frecuencia?'));
		$pdf->Cell(100,6,utf8_decode('' . $frecactfis), 1);
		$pdf->ln();
		$pdf->Cell(80,6,utf8_decode('¿Peso con el que se ha mantenido?'));
		$pdf->Cell(100,6,utf8_decode('' . $pesomintresa), 1);
		$pdf->ln();
		$pdf->Cell(80,6,utf8_decode('¿Ingiere alcohol?'));
		$pdf->Cell(100,6,utf8_decode('' . $alcohol), 1);
		$pdf->ln();
		$pdf->Cell(80,6,utf8_decode('¿Con qué frecuencia?'));
		$pdf->Cell(100,6,utf8_decode('' . $alcoholfrec), 1);
		$pdf->ln();
		$pdf->Cell(80,6,utf8_decode('¿Fuma?'));
		$pdf->Cell(100,6,utf8_decode('' . $fuma), 1);
		$pdf->ln();
		$pdf->Cell(80,6,utf8_decode('¿Con qué frecuencia?'));
		$pdf->Cell(100,6,utf8_decode('' . $fumafrec), 1);
		$pdf->ln();
		$pdf->Cell(80,6,utf8_decode('¿Cuantos cigarros al día?'));
		$pdf->Cell(100,6,utf8_decode('' . $fumanocigarros), 1);
		$pdf->ln();
		$pdf->Cell(80,6,utf8_decode('¿Sus menstruaciones son regulares?'));
		$pdf->Cell(100,6,utf8_decode('' . $mestruaregu), 1);
		$pdf->ln();
		$pdf->Cell(80,6,utf8_decode('¿Cuál es el motivo?'));
		$pdf->Cell(100,6,utf8_decode('' . $mestruanoregumot), 1);
		$pdf->ln();
		$pdf->Cell(80,6,utf8_decode('¿Toma anticonceptivos u hormonales?'));
		$pdf->Cell(100,6,utf8_decode('' . $anticonceptivo), 1);
		$pdf->ln();
		$pdf->Cell(80,6,utf8_decode('¿Cuál anticonceptivo u hormonal toma?'));
		$pdf->Cell(100,6,utf8_decode('' . $queanticonceptivo), 1);
		$pdf->ln();
		$pdf->Cell(80,6,utf8_decode('HIPERTENSIÓN'));
		$pdf->Cell(100,6,utf8_decode('' . $hipertension), 1);
		$pdf->ln();
		$pdf->Cell(80,6,utf8_decode('DIABETES'));
		$pdf->Cell(100,6,utf8_decode('' . $diabetes), 1);
		$pdf->ln();
		$pdf->Cell(80,6,utf8_decode('HIPO O HIPERTIROIDISMO'));
		$pdf->Cell(100,6,utf8_decode('' . $hiptiroidismo), 1);
		$pdf->ln();
		$pdf->Cell(80,6,utf8_decode('SOBREPESO'));
		$pdf->Cell(100,6,utf8_decode('' . $sobrepeso), 1);
		$pdf->ln();
		$pdf->Cell(80,6,utf8_decode('CÁNCER'));
		$pdf->Cell(100,6,utf8_decode('' . $cancer), 1);
		$pdf->ln();
		$pdf->Cell(80,6,utf8_decode('OTRA(S)'));
		$pdf->Cell(100,6,utf8_decode('' . $oenfermedad), 1);
		$pdf->ln();
		$pdf->Cell(80,6,utf8_decode('NINGUNA'));
		$pdf->Cell(100,6,utf8_decode('' . $nenfermedad), 1);
		$pdf->ln();
		$pdf->Cell(80,6,utf8_decode('Especifique qué otra(s) enfermedades:'));
		$pdf->Cell(100,6,utf8_decode('' . $qotraenfermedad), 1);
		$pdf->ln();
		$pdf->Cell(80,6,utf8_decode('¿Quién la padece o padeció?'));
		$pdf->Cell(100,6,utf8_decode('' . $padece), 1);
		$pdf->ln();
		$pdf->Cell(80,6,utf8_decode('¿Toma refresco?'));
		$pdf->Cell(100,6,utf8_decode('' . $refresco), 1);
		$pdf->ln();
		$pdf->Cell(80,6,utf8_decode('¿Con qué frecuencia?'));
		$pdf->Cell(100,6,utf8_decode('' . $refrescofrec), 1);
		$pdf->ln();
		$pdf->Cell(80,6,utf8_decode('¿Que cantidad?'));
		$pdf->Cell(100,6,utf8_decode('' . $refrescocantidad), 1);
		$pdf->ln();
		$pdf->Cell(80,6,utf8_decode('¿Cuánta agua natural toma en un día?'));
		$pdf->Cell(100,6,utf8_decode('' . $agua), 1);
		$pdf->ln();
		$pdf->Cell(80,6,utf8_decode('¿Cuántas frutas se come en un día?'));
		$pdf->Cell(100,6,utf8_decode('' . $fruta), 1);
		$pdf->ln();
		$pdf->Cell(80,6,utf8_decode('Algún alimento que no tolere o sea alérgico:'));
		$pdf->Cell(100,6,utf8_decode('' . $alergico), 1);
		$pdf->ln();
		$pdf->Cell(80,6,utf8_decode('Comida:'));
		$pdf->MultiCell(100,6,utf8_decode('' . $comida), 1);
		$pdf->ln();
		$pdf->Cell(80,6,utf8_decode('Fecha de registro:'));
		$pdf->Cell(100,6,utf8_decode('' . $fregistro), 1);
		$pdf->ln();
		$pdf->Cell(80,6,utf8_decode('Hora de registro:'));
		$pdf->Cell(100,6,utf8_decode('' . $hregistro), 1);

		$pdf->Output('F', 'historia/historia_clinica.pdf');
		//$pdf->Output('I', 'historia/historia_clinica.pdf');
		
		//fin pdf

		$destino2jb = 'joaquin.fc@gmail.com';
		/*$destino2jb = "patricia.rodriguez.e@gmail.com";*/
		$asuntojb = "Historia Clínica"; 

		$comentariojb .= "Historia Clínica"."\n"."\n";

		$comentariojb .= $nombre." ".$apellidos."\n"."\n";

		$comentariojb .= "Fecha de la cita: ".$fcita."\n";
		$comentariojb .= "Hora de la cita: ".$hcita."\n";
		$comentariojb .= "Género: ".$genero."\n";
		$comentariojb .= "Edad: ".$edad."\n";
		$comentariojb .= "Fecha de nacimiento: ".$fnacimiento."\n";
		$comentariojb .= "Estado Civil: ".$edocivil."\n";
		$comentariojb .= "Número de hijos: ".$nohijos."\n";
		$comentariojb .= "Horario de trabajo: ".$horariotrab."\n";
		$comentariojb .= "Teléfono/WhatsApp: ".$telefono."\n";
		$comentariojb .= "Tratamientos anteriores de reducción peso: ".$tratapeso."\n";
		$comentariojb .= "Enfermedades destacadas: ".$enfermedad."\n";
		$comentariojb .= "Su presión arterial es: ".$parterial."\n";
		$comentariojb .= "Cirugías de importancia que le hayan realizado: ".$cirugias."\n";
		$comentariojb .= "Su digestión es: ".$digestion."\n";
		$comentariojb .= "Problemas de la tiroides: ".$ptiroides."\n";
		$comentariojb .= "Actualmente toma algún medicamento o vitaminas o suplemento: ".$mediact."\n";
		$comentariojb .= "¿Cúal(es)? ".$quemediact."\n";
		$comentariojb .= "Motivo: ".$mediactmotivo."\n";
		$comentariojb .= "¿Realiza alguna actividad física? ".$actfisica."\n";
		$comentariojb .= "¿Qué actividad física realiza? ".$queactfis."\n";
		$comentariojb .= "¿Con qué frecuencia? ".$frecactfis."\n";
		$comentariojb .= "¿Cuál es el peso mínimo con el que se ha mantenido en los últimos 3 años? ".$pesomintresa."\n";
		$comentariojb .= "¿Ingiere alcohol? ".$alcohol."\n";
		$comentariojb .= "¿Con qué frecuencia? ".$alcoholfrec."\n";
		$comentariojb .= "¿Fuma? ".$fuma."\n";
		$comentariojb .= "¿Con qué frecuencia? ".$fumafrec."\n";
		$comentariojb .= "¿Cuantos cigarros al día? ".$fumanocigarros."\n";
		$comentariojb .= "¿Sus menstruaciones son regulares? ".$mestruaregu."\n";
		$comentariojb .= "¿Cuál es el motivo? ".$mestruanoregumot."\n";
		$comentariojb .= "¿Toma anticonceptivos u hormonales? ".$anticonceptivo."\n";
		$comentariojb .= "¿Cuál anticonceptivo u hormonal toma? ".$queanticonceptivo."\n";
		$comentariojb .= "Enfermedades en la familia: "."\n";
		$comentariojb .= "HIPERTENSIÓN ".$hipertension."\n";
		$comentariojb .= "DIABETES ".$diabetes."\n";
		$comentariojb .= "HIPO O HIPERTIROIDISMO ".$hiptiroidismo."\n";
		$comentariojb .= "SOBREPESO ".$sobrepeso."\n";
		$comentariojb .= "CÁNCER ".$cancer."\n";
		$comentariojb .= "OTRA(S) ".$oenfermedad."\n";
		$comentariojb .= "NINGUNA ".$nenfermedad."\n";
		$comentariojb .= "Especifique qué otra(s) enfermedades: ".$qotraenfermedad."\n";
		$comentariojb .= "¿Quién la padece o padeció? ".$padece."\n";
		$comentariojb .= "¿Toma refresco? ".$refresco."\n";
		$comentariojb .= "¿Con qué frecuencia? ".$refrescofrec."\n";
		$comentariojb .= "¿Que cantidad? ".$refrescocantidad."\n";
		$comentariojb .= "¿Cuánta agua natural toma en un día? ".$agua."\n";
		$comentariojb .= "¿Cuántas frutas se come en un día? ".$fruta."\n";
		$comentariojb .= "Algún alimento que no tolere o sea alérgico: ".$alergico."\n";
		$comentariojb .= "Lo que come habitualmente en un día: ".$comida."\n";
		$comentariojb .= "Fecha de registro: ".$fregistro."\n";
		$comentariojb .= "Hora de registro: ".$hregistro."\n";

	/*echo "esto es comentariojb: $comentariojb";*/

	$attachment = chunk_split(base64_encode(file_get_contents('historia/formulario.pdf')));
	

		$headersjb = 'From:nutriant@creativityw.com'."\r\n".
			'Reply-To:'.$destino2jb."\r\n".
			'Bcc: cratvtw@gmail.com'."\r\n".
		   	'X-Mailer: PHP/'.phpversion();			   

		
			      
		
		mail( $destino2jb, $asuntojb, $comentariojb, $headersjb ); 

		header( "Location: mensaje.html" );
	
	}		
		else {
			echo "Formulario no enviado";
	}
	


?>

Respuestas

Hola, entre tanto código no se llegan a reconocer fácilmente las partes importantes, pero me da la sensación que no estás guardando el PDF generado en ningún lugar. Por lo tanto cuando vas a adjuntarlo da la impresión que no exista.

Marcos
157 1 14 11