I'm using the following php code to send an email with an attachment to a predefined mail.
<?php
require_once('class.phpmailer.php');
$mail = new PHPMailer();
$body = $_POST['message'];
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->Host = "smtp.gmail.com";
$mail->Port = 465;
$mail->Username = "dimal.chandrasiri@gmail.com";
$mail->Password = "****";
$mail->SMTPSecure = 'tls';
$mail->SetFrom('dimal.chandrasiri@gmail.com', 'Your name');
$mail->AddReplyTo("dimal.chandrasiri@gmail.com","Your name");
$mail->Subject = "Abstract submission for" .$_POST['fname'];
$mail->AltBody = $_POST['message'];
if (isset($_FILES['uploaded_file']) && $_FILES['uploaded_file']['error'] == UPLOAD_ERR_OK){
$mail->AddAttachment($_FILES['file']['tmp_name'],$_FILES['file']['name']);
}
$mail->MsgHTML($body);
$address = 'dimal.chandrasiri@gmail.com';
$mail->AddAddress($address, $name);
if($mail->Send()) {
echo 'done';
} else {
echo 'error';
}
?>
The passwords and other smtp details are correct but I'm unable to send any mail. What am I doing wrong here? I use the following html form to post the data.
<form id="main-contact-form" class="abstract-form" name="contact-form" method="post" action="/script/submit.php">
<div class="row-fluid">
<div class="span5">
<label>First Name</label>
<input type="text" name='fname' class="input-block-level" required="required" placeholder="Your First Name">
<label>Last Name</label>
<input type="text" name='lname' class="input-block-level" required="required" placeholder="Your Last Name">
<label>Email Address</label>
<input type="text" name='email' class="input-block-level" required="required" placeholder="Your email address">
<label>File</label>
<input type="file" name='file' class="input-block-level" required="required" placeholder="Your Abstract File">
</div>
<div class="span7">
<label>Message</label>
<textarea name="message" id="message" required="required" class="input-block-level" rows="8"></textarea>
</div>
</div>
<button type="submit" class="btn btn-primary btn-large pull-right">Send Message</button>
<p> </p>
</form>
I get the following error when I echo the error info.
The following From address failed: dimal.chandrasiri@gmail.com : Called Mail() without being connected