Skip to content

Sending Emails With PHPMailer using GoDaddy SMTP Settings

Last updated on July 21, 2023

In this post, I want to show you how to send emails using PHPMailer with GoDaddy SMTP details.

Godaddy requires you to utilize its SMTP relay servers to send emails from third-party clients. To prevent spam, GoDaddy allows 250 SMTP relays per day. This lets you send 250 emails from your email address on a daily basis. If you want to send more than 250 emails daily, you need to purchase more SMTP relays depending on your needs.

GoDaddy uses email spoofing protection using the DKIM email verification system, so if you want to use GoDaddy’s SMTP settings outside the domain for example localhost, SMTP settings do not work. To Make it work you need to set the local Domain ex: $mail->DKIM_domain = '192.168.1.119';.

Below is the complete example:

<?php
//SMTP needs accurate times, and the PHP time zone MUST be set
//This should be done in your php.ini, but this is how to do it if you don't have access to that date_default_timezone_set('Etc/UTC');

require "../PHPMailerAutoload.php";

//Create a new PHPMailer instance
$mail = new PHPMailer();
//Tell PHPMailer to use SMTP
$mail->isSMTP();
//Enable SMTP debugging
// 0 = off (for production use)
// 1 = client messages
// 2 = client and server messages
$mail->SMTPDebug = 2;
$mail->DKIM_domain = "127.0.0.1";
//Ask for HTML-friendly debug output
$mail->Debugoutput = "html";
//Set the hostname of the mail server
$mail->Host = "smtpout.secureserver.net"; 
//Set the SMTP port number - likely to be 25, 465 or 587
$mail->Port = 465; 
//Whether to use SMTP authentication
$mail->SMTPAuth = true; 
//Username to use for SMTP authentication
$mail->Username = "[email protected]"; 
//Password to use for SMTP authentication 
$mail->Password = "password";
$mail->SMTPSecure = "ssl"; //Set who the message is to be sent from $mail->setFrom('[email protected]', 'First Last'); //Set an alternative reply-to address
//$mail->addReplyTo('[email protected]', 'First Last');
//Set who the message is to be sent to
$mail->addAddress("[email protected]", "Arjun");
//Set the subject line
$mail->Subject = "PHPMailer SMTP test"; 
//Read an HTML message body from an external file, convert referenced images to embedded, 
//convert HTML into a basic plain-text alternative body 
$mail->msgHTML(file_get_contents('contents.html'), dirname(__FILE__));
//Replace the plain text body with one created manually 
$mail->AltBody = 'This is a plain-text message body'; 
//Attach an image file 
$mail->addAttachment('images/phpmailer_mini.png'); 
//send the message, check for errors
if (!$mail->send()) {
    echo "Mailer Error: " . $mail->ErrorInfo;
} else {
    echo "Message sent!";
} 
?>
 
4.3 3 votes
Article Rating
Subscribe
Notify of
guest

19 Comments
Most Voted
Newest Oldest
Inline Feedbacks
View all comments