i want to send email with attachments using phpmai

2019-06-14 20:34发布

问题:

i am using phpmailler for sending mail,mail works successfully but without attachments. i want to send mail with attachments. i have tried this code.

thanks in advance.

$s2="select * from tbl_new_user where login_name='".$rw['clientname']."'";
$q2=mysql_query($s2) or die($s2);
$row=mysql_fetch_array($q2);

$s22="select * from tbl_job_schedule where clientname='".$rw['clientname']."' and jobdate='".$_SESSION['strmonth']."-".$_REQUEST['dt']."-".$_SESSION['yy']."'";
$q22=mysql_query($s22) or die($s22);
$row2=mysql_fetch_array($q22);  

$mail = new PHPMailer;

$mail->IsSMTP();                                      // Set mailer to use SMTP
$mail->Host = 'smtpout.secureserver.net';  // Specify main and backup server
$mail->Port = '80';
$mail->SMTPAuth = true;                               // Enable SMTP authentication
$mail->Username = 'username';                            // SMTP username
$mail->Password = 'password';                           // SMTP password
$mail->SMTPSecure = '';                            // Enable encryption, 'ssl' also accepted
$mail->SMTPDebug = 1;

$mail->From = 'abc@abc.com';
$mail->FromName = 'abc@abc.com';
$mail->AddAddress($row['client_email'], '');  // Add a recipient
$mail->AddAddress($row['client_email2']);     // Name is optional
$mail->AddAddress($row['client_email3']);
$mail->AddAddress($row['client_email4']);
$mail->AddAddress($row['client_email5']);
$mail->AddAddress($row['client_email6']);
$mail->AddReplyTo('info@example.com', 'Information');
//$mail->AddCC('cc@example.com');
//$mail->AddBCC('bcc@example.com');

$mail->WordWrap = 50;      
                           // Set word wrap to 50 characters
if($row2['file1']!='')
{                          
$mail->AddAttachment('kurtacompany/techreporting/upload/'.$row2['file1'].'');         // Add attachments
}

if($row2['file2']!='')
{                          
$mail->AddAttachment('kurtacompany/techreporting/upload/'.$row2['file2'].'');         // Add attachments
}

if($row2['file3']!='')
{                          
$mail->AddAttachment('kurtacompany/techreporting/upload/'.$row2['file3'].'');         // Add attachments
}

if($row2['file4']!='')
{                          
$mail->AddAttachment('kurtacompany/techreporting/upload/'.$row2['file4'].'');         // Add attachments
}

if($row2['file5']!='')
{                          
$mail->AddAttachment('kurtacompany/techreporting/upload/'.$row2['file5'].'');         // Add attachments
}

if($row2['file6']!='')
{                          
$mail->AddAttachment('kurtacompany/techreporting/upload/'.$row2['file6'].'');         // Add attachments
}

if($row2['file7']!='')
{                          
$mail->AddAttachment('kurtacompany/techreporting/upload/'.$row2['file7'].'');         // Add attachments
}

if($row2['file8']!='')
{                          
$mail->AddAttachment('kurtacompany/techreporting/upload/'.$row2['file8'].'');         // Add attachments
}

if($row2['file9']!='')
{                          
$mail->AddAttachment('kurtacompany/techreporting/upload/'.$row2['file9'].'');         // Add attachments
}
if($row2['file10']!='')
{                          
$mail->AddAttachment('kurtacompany/techreporting/upload/'.$row2['file10'].'');         // Add attachments
}



//$mail->AddAttachment('/tmp/image.jpg', 'new.jpg');    // Optional name
$mail->IsHTML(true);                                  // Set email format to HTML

$mail->Subject = 'Reporting';
$mail->Body    = '<p>This is an automated email report for the work done today.

Below are the comments showing on what we have worked,if you have any questions please go to the reporting URL provided and update your comment or can send a separate email to me directly on my email ID provided.</p>


<b>Work Comments : "'.$row2['client_cmnt'].'"</b>';
$mail->AltBody = '';

if(!$mail->Send()) {
   echo 'Message could not be sent.';
   echo 'Mailer Error: ' . $mail->ErrorInfo;
   exit;
}

echo 'Message has been sent';

            echo "<script>window.close()</script>";

}

回答1:

Make sure the path your are using for your attachments is valid.

i.e. does a file exist at kurtacompany/techreporting/upload/'.$row2['file3'] ?

It might be as simple as you missing a / from the beginning to indicate it should start searching from the root directory. If in doubt, try an absolute link to confirm:

http://www.mywebsite.com/kurtacompany/techreporting/upload/'.$row2['file3']