Need help for send a mail with attachment

sending mail with attachment but not sent.
i have a code below please let me know if any wrong in this code.

please help:

<script src=
    "https://smtpjs.com/v3/smtp.js">
  </script>
<?php
session_start();
include('include/config.php');
if(strlen($_SESSION['alogin'])==0)
  { 
header('location:index.php');
}
else {
  if(isset($_POST['update']))
  {
$complaintnumber=$_GET['cid'];
$status=$_POST['status'];
$remark=$_POST['remark'];
$query=mysqli_query($con,"insert into complaintremark(complaintNumber,status,remark) values('$complaintnumber','$status','$remark')");
$sql=mysqli_query($con,"update tblcomplaints set status='$status' where complaintNumber='$complaintnumber'");

echo "<script>alert('Complaint details updated successfully');</script>";

  }

 ?>
<script language="javascript" type="text/javascript">
function f2()
{
window.close();
}ser
function f3()
{
window.print(); 
}
</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>User Profile</title>
<link href="style.css" rel="stylesheet" type="text/css" />
<link href="anuj.css" rel="stylesheet" type="text/css">
</head>
<body>
<?php
$complaintnumber=$_GET['cid'];
$sql="SELECT * FROM `tblcomplaints` WHERE `complaintNumber`='$complaintnumber'";
$res=mysqli_query($con,$sql);
$rows1=mysqli_fetch_assoc($res);
$userId=$rows1['userId'];

$sql1="SELECT * FROM `users` WHERE id='$userId'";
$res1=mysqli_query($con,$sql1);
$row=mysqli_fetch_assoc($res1);


if(isset($_POST['update'] )){
 $email=$_POST['email'];
 $remark=$_POST['remark'];
 $allowedExtensions =array("pdf", "doc", "docx", "jpg", "jpeg");

?>	
	<script type="text/javascript">
    
      Email.send({
        Host: "smtp.gmail.com",
        Username: "*****************@gmail.com",
        Password: "***********817",
        To: "<?php echo $email; ?>",
        From: "****************@gmail.com",
        Subject: "Portal",
        Body: "<?php echo $remark; ?>",
        Attachment:[
            {
                name :"tree-736885__340.jpg",
                
                
                path:"https://cdn.pixabay.com/photo/2015/04/23/22/00/tree-736885__340.jpg",
            }]
        })
      
        .then(function (message) {
          alert("mail has been sent successfully")
        });

  </script>
	
<?	
}

?>
<div style="margin-left:50px;">
 <form name="updateticket" id="updatecomplaint" method="post"> 
<table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td  >&nbsp;</td>
      <td >&nbsp;</td>
    </tr>
    
    <tr>
        
        
        </tr>
    
    <tr height="50">
      <td><b>Complaint Number</b></td>
      <td><?php echo htmlentities($_GET['cid']); ?></td>
    </tr>
    <tr height="50">
      <td><b>Status</b></td>
	  
      <td><select name="status" required="required">
      <option value="">Select Status</option>
      <option value="in process">In Process</option>
    <option value="closed">Closed</option>
        
      </select></td>
    </tr>
	
	<tr height="50">
	<td><b>Email Id</b></td>
		<td><input type='text' readonly name='email' size='50' value='<?php echo $row['userEmail']; ?>'></td></tr>
	  
      <tr height="50">
      <td><b>Remark</b></td>
      <td><textarea name="remark" cols="50" rows="10" required="required"></textarea></td>
    </tr>
    

    <tr height="50">
      <td><b>Attachment</b></td>
    <td>
        <form method="post" action=" " enctype="multipart/form-data">
<input type="file" name="attachment"/><br>

        </td>
        </tr>

        <tr height="50">
      <td>&nbsp;</td>
      <td><input type="submit" name="update" value="Submit" ></td>
    </tr>



       <tr><td colspan="2">&nbsp;</td></tr>
    
    <tr>
  <td></td>
      <td >   
      <input name="Submit2" type="submit" class="txtbox4" value="Close this window " onClick="return f2();" style="cursor: pointer;"  /></td>
    </tr>
   

 
</table>
 </form>
</div>

</body>
</html>

     <?php } ?>

Well, first, sending mail thru a Javascript routine is dangerous. Any beginner hacker can hack that.
Javascript is CLIENT-SIDE, meaning it runs in the browser. And, therefore anyone who VIEWS-SOURCE of your page can see how you are processing it. Not safe at all.

Also, we can not help you since we can not see your send-mail code. There is no code to send mail in your post. Perhaps it is inside the smtp.js code or you posted the wrong sections. If you look at your webpage and RIGHT-CLICK on it and select VIEW-SOURCE, you will see your Javascript codes. This also means that anyone viewing that page can see your Gmail account and password. Very dangerous!

I would look into using a third party PHP Mailer such https://github.com/PHPMailer or SwiftMailer ( https://swiftmailer.symfony.com/docs/introduction.html ) My recommendation

An example:

    /* Setup swiftmailer using your email server information */
    $transport = (new Swift_SmtpTransport('smtp.gmail.com', 587, 'tls'))
            ->setUsername("[email protected]")
            ->setPassword(G_PASSWORD);

    // Create the Mailer using your created Transport
    $mailer = new Swift_Mailer($transport);

    /* create message */
    $message = (new Swift_Message('A email from ' . $data['name']))
            ->setFrom([$data['email'] => $data['name']])
            ->setTo(['[email protected]'])
            ->setCc([$data['email'] => $data['name']])
            ->setBody($data['message'], 'text/html')
            ->attach(entity: Swift_Attachment::fromPath('https://www.mywebsite.com/assets/images/img-logo-003.jpg'));

    /* Send the message */
    $mailer->send($message);

Using a third party is much easier than trying to create your own mail routine in php. You can use Javascript to validate and use Javascript/Ajax (I use Fetch) to make it seamless for user. My advice get PHP to work first then do the JavaScript coding.

Sponsor our Newsletter | Privacy Policy | Terms of Service