francis2tm
francis2tm

Reputation: 103

How to get SMTP host for my phpmailer

I own my domain .com and it is hosted in different provider of the domain. And I want to use PhpMailer, but my webhosting doesn't provide me SMTP server but it allows me to create emails of my domain (e.g. [email protected]) So, I really can't use phpmailer because it never connects to SMTP server, what should I do?

I brought my domain in onlydomains and my webhost is 000webhost.

<?php
require './PHPMailer-master/PHPMailerAutoload.php';

$mail = new PHPMailer;

$mail->isSMTP();                                      // Set mailer to use SMTP
$mail->Host = '';  // Specify main and backup SMTP servers
$mail->SMTPAuth = true;                               // Enable SMTP authentication
$mail->Username = '[email protected]';                 // SMTP username
$mail->Password = '********';                           // SMTP password
$mail->SMTPSecure = 'tls';                            
$mail->From = '[email protected]';
$mail->FromName = 'Admin';
$mail->addAddress('[email protected]');               // Name is optional

mail->WordWrap = 50;                                 // Set word wrap to 50 characters
$mail->isHTML(true);                                  // Set email format to HTML

$mail->Subject = 'swag';
$mail->Body    = 'This is the HTML message body <b>in bold!</b>';
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';

if(!$mail->send()) {
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent';
}
?>

Upvotes: 0

Views: 11120

Answers (1)

VRR
VRR

Reputation: 11

Initially download the php mailer files to your sever(if not downloaded before) & define as following.Avoid using net sources in your code.Once you apply this it will work fine and the mail would be sent as from your mail id.

require("phpmailer/class.phpmailer.php");

$mail = new PHPMailer();
$mail->SMTPDebug = true;
$mail->IsSMTP();  // telling the class to use SMTP
$mail->SMTPAuth   = true; // SMTP authentication
$mail->Host       = "ssl://smtp.gmail.com"; // SMTP server
$mail->Port       = 465; // SMTP Port
$mail->Username   = "your mail id"; // SMTP account username
$mail->Password   = "password";        // SMTP account password
//The following code allows you to send mail automatically once the code is run
$mail->SetFrom('to mail id', 'name'); // FROM
$mail->AddReplyTo('mail id', 'name'); // Reply TO

$mail->AddAddress('recipient id'); // recipient email
$mail->Subject    = "First SMTP Message"; // email subject
$mail->Body       = "Hi! \n\n some text.";

if(!$mail->Send()) {
echo 'Message was not sent.';
echo 'Mailer error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent.';
}

After doing the above code if you still not able to send mail means do the following: In class.smtp.php file add the below given two lines before the line "Connect to the SMTP server" & it ll work fine.

$host = "ssl://smtp.gmail.com";
$port = 465;

Upvotes: 0

Related Questions