Skip to content

Instantly share code, notes, and snippets.

@daveh
Last active June 29, 2025 23:37
Show Gist options
  • Save daveh/1164348fe21a6e7363d28c7b94c9eb3f to your computer and use it in GitHub Desktop.
Save daveh/1164348fe21a6e7363d28c7b94c9eb3f to your computer and use it in GitHub Desktop.
Send email with PHP (code to accompany https://youtu.be/fIYyemqKR58)
<!DOCTYPE html>
<html>
<head>
<title>Contact</title>
<meta charset="UTF-8">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/water.css@2/out/water.css">
</head>
<body>
<h1>Contact</h1>
<form method="post" action="send-email.php">
<label for="name">Name</label>
<input type="text" name="name" id="name" required>
<label for="email">email</label>
<input type="email" name="email" id="email" required>
<label for="subject">Subject</label>
<input type="text" name="subject" id="subject" required>
<label for="message">Message</label>
<textarea name="message" id="message" required></textarea>
<br>
<button>Send</button>
</form>
</body>
</html>
<?php
$name = $_POST["name"];
$email = $_POST["email"];
$subject = $_POST["subject"];
$message = $_POST["message"];
require "vendor/autoload.php";
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
$mail = new PHPMailer(true);
// $mail->SMTPDebug = SMTP::DEBUG_SERVER;
$mail->isSMTP();
$mail->SMTPAuth = true;
$mail->Host = "smtp.example.com";
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
$mail->Port = 587;
$mail->Username = "[email protected]";
$mail->Password = "password";
$mail->setFrom($email, $name);
$mail->addAddress("[email protected]", "Dave");
$mail->Subject = $subject;
$mail->Body = $message;
$mail->send();
header("Location: sent.html");
<!DOCTYPE html>
<html>
<head>
<title>Contact</title>
<meta charset="UTF-8">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/water.css@2/out/water.css">
</head>
<body>
<h1>Contact</h1>
<p>Thank you for your message.</p>
</body>
</html>
@Niyonkuru-olivier
Copy link

Niyonkuru-olivier commented Nov 29, 2024 via email

@Niyonkuru-olivier
Copy link

How I check those SMTP server address

@Niyonkuru-olivier
Copy link

SMTPDebug = SMTP::DEBUG_SERVER; $mail->isSMTP(); $mail->SMTPAuth = true; $mail->Host = "smtp.example.com"; $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; $mail->Port = 587; $mail->Username = "[email protected]"; $mail->Password = "password"; $mail->setFrom($email, $name); $mail->addAddress("[email protected]", "Olivier"); $mail->Subject = $subject; $mail->Body = $message; $mail->send(); header("Location: sent.html");

@Niyonkuru-olivier
Copy link

this is my code. helps me

@daveh
Copy link
Author

daveh commented Nov 29, 2024

smtp.example.com is not a valid SMTP server, it's just an example. You need to use one you have access to (e.g. smtp.google.com if you have a Gmail account etc.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment