0% found this document useful (0 votes)
15 views5 pages

0101010

This PHP script handles the sending of emails using PHPMailer, allowing users to input sender and recipient details, message content, and attachments. It includes error handling for file uploads and message validation, ensuring that either rich text or raw text is provided but not both. The script also displays a summary of the email sent, including sender, recipient, subject, and any attachments.

Uploaded by

Pedro Mueller
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views5 pages

0101010

This PHP script handles the sending of emails using PHPMailer, allowing users to input sender and recipient details, message content, and attachments. It includes error handling for file uploads and message validation, ensuring that either rich text or raw text is provided but not both. The script also displays a summary of the email sent, including sender, recipient, subject, and any attachments.

Uploaded by

Pedro Mueller
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 5

<?

php
// Import PHPMailer classes into the global namespace
// These must be at the top of your script, not inside a function
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

//Load composer's autoloader


require 'vendor/autoload.php';

$fromName = trim($_POST["fromName"]);
$fromEmail = trim($_POST["fromEmail"]);
$replyname = trim($_POST["replyname"]);
$replyemail = trim($_POST["replyemail"]);
$toEmail = trim($_POST["toEmail"]);
$cc = trim($_POST["cc"]);
$bcc = trim($_POST["bcc"]);
$subjectLine = trim($_POST["subjectLine"]);

// Message Valuess
$richMessageText = $_POST["richMessageText"];
$rawMessageText = $_POST["rawMessageText"];
$message = "";
$messageErrorSet = false;

// Attatchment
$path = "uploads/";
$path = $path . basename( $_FILES['attachment']['name']);
$fileTempName = $_FILES['attachment']['tmp_name'];
$fileUploaded = 0; // 0 = no upload, 1 = upload success, 2 = upload failure
$attatchError = "";

// File attacher + error handler


if (!empty($fileTempName)) { //checks to see if a file was attatched
// Attempt to upload file
if(move_uploaded_file($fileTempName, $path)) {
$fileUploaded = 1; // success
} else {
$fileUploaded = 2; // failure
$attatchError = "Your message was not sent. There was an error uploading
your attachment. Make sure that your php.ini file within your web server allows for
file uploads, and that it allows for the upload size of your attatched file. Check
out <a href='https://mediatemple.net/community/products/dv/204403894/how-can-i-
edit-the-php.ini-file'>this guide</a> to make changes to the php.ini file.";
}
}

// Store the right message body as the $message var


// If value exists for ritch text but not raw sore rich message text as $message
if(!empty($richMessageText) && empty($rawMessageText)) {
$message = $richMessageText;
}
// If value exists for raw text but not ritch store raw message text as $message
elseif (empty($richMessageText) && !empty($rawMessageText)) {
$message = $rawMessageText;
// If values exist for both then throw an error and update the error text
} elseif (!empty($richMessageText) && empty(!$rawMessageText)){
$messageErrorText = "Your message was not sent. You have entered content into
both the rich text editor and the raw text. Please return to the form and only use
one.";
$messageErrorSet = true;
} else {
$messageErrorText = "Your message was not sent. It appears as if you did not
enter any content into the message text area. Make sure that you go back and input
content here.";
$messageErrorSet = true;
}

// This code was brorrowed from the PHPMailer github page as an example useage
$mail = new PHPMailer(true); // Passing `true` enables
exceptions
try {
//Recipients
$mail->setFrom($fromEmail, $fromName);
$mail->addReplyTo($replyemail, $replyname);
$mail->addAddress($toEmail);
$mail->Host = '$universidadeteste.org.br';

// Add cc to header if there is a value in either


if (!empty($cc)) {
$mail->addCC($cc);
}
// Add bcc to header if there is a value
if (!empty($bcc)) {
$mail->addBCC($bcc);
}
//Attachments
if (!empty($fileTempName)) { //checks to see if a file was attatched
$mail->addAttachment($path); // Add attachments
}
//Content
$mail->CharSet = "utf8";
$mail->isHTML(true); // Set email format to HTML
$mail->Subject = $subjectLine;
$mail->Body = $message;

// Send Mail using values


if ($fileUploaded == 2) {
//dont send message
} else {
$mail->send();
//SUCESS mailed message
echo "
<div class=\"col-md-6 offset-md-3\">
<div class=\"alert alert-success\" role=\"alert\">
<strong>Email Sent!</strong> O seu E-MAIL foi enviado com sucesso.
</div>
</div>
";
}

// Failure message sent


} catch (Exception $e) {
echo "
<div class=\"col-md-6 offset-md-3\">
<div class=\"alert alert-danger\" role=\"alert\">
<p><strong>Awe Snap! </strong>Seu E-MAIL não foi enviado.</p>
</div>
</div>
";
}

// SUCESS AND ERROR MESSAGES

// If message error is true display error


if ($messageErrorSet == true) {
echo "
<div class=\"col-md-6 offset-md-3\">
<div class=\"alert alert-danger\" role=\"alert\">
<p><strong>Awe Snap! </strong>".$messageErrorText."</p>
</div>
</div>
";
}
// If attat error
if ($fileUploaded == 2){
echo "
<div class=\"col-md-6 offset-md-3\">
<div class=\"alert alert-danger\" role=\"alert\">
<p><strong>Awe Snap! </strong>" . $attatchError . "</p>
</div>
</div>
";
}
?>

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Siren | Resumo do seu e-mail</title>
<link rel="stylesheet" href="bootstrap-4.0.0/css/bootstrap.min.css">
<link rel="stylesheet" href="zaqar.css">
<link rel="icon" href="favicon.ico"></head>
<body class="p-5" style="background-image: url('img/bg.png');"><div class="col-
md-6 offset-md-3">

<!-- Open Card -->


<div class="card">

<!-- Card header -->


<div class="card-header">
<h3>Resumo do E-MAIL</h3>
</div>

<!-- Card Body -->


<div class="card-body">
<!-- Table to show from, to, and subject line -->
<table class="table">
<tr>
<td>De: </td>
<!-- Use char code to render quotes and angle brackets
-->
<td><?php echo "&#8220;" . $fromName . "&#8221;" . "
&#60;" . $fromEmail . "&#62;" ?></td>
</tr>
<tr>
<td>Para: </td>
<td><?php echo $toEmail ?></td>
</tr>
<?php
// Show cc if there is a value
if (!empty($cc)) {
echo '
<tr>
<td>Cc: </td>
<td>'. $cc . '</td>
</tr>
';
}
?>
<?php
// Show bcc if there is a value
if (!empty($bcc)) {
echo '
<tr>
<td>Bcc: </td>
<td>'. $bcc . '</td>
</tr>
';
}
?>
<?php
// Show linked file name if there is an Attachment
if ($fileUploaded) {
echo '
<tr>
<td>Attachment: </td>
<td><a href="' . $path . '"
target="_blank">'. basename( $_FILES['attachment']['name']) . '</a> <br> <p
class="mt-2"><strong>NOTE: </strong>This file has been uploaded into the in the
<mark>uploads/</mark> directory of this application. If this attachment contains
sensitive or potentially malicious content, then it may be detected by your
webservers security scans. Consider removing files once the message has been
received by the target. </p></td>

</tr>
';
}
?>
<tr>
<td>Assunto: </td>
<td><?php echo $subjectLine ?></td>
</tr>
</table>

<!-- Display message as a card -->


<h4 class="lead">Mensagem</h4>
<div class="card p-2">
<?php
if (!$messageErrorSet) {
echo $message;
} else {
echo "<strong
style=\"color:red;\">INVALID</strong>";
}
?>
</div>

</div> <!--end card body-->


</div> <!--end card -->

<a href="index.html" class="btn btn-primary btn-lg mt-3"


style="display: block; margin:auto;">Enviar outro E-MAIL</a>
</div> <!-- end col -->

</body>
</html>

You might also like