这是我使用PHPMailer使用PHPMailer通过邮件发送附件的代码。我在localhost中试试这个功能完美。但是,一旦我上传到我的服务器,就不会发送附件。
$email = new PHPMailer();
$email->From = 'john@hotmail.com';
$email->FromName = 'John';
$email->Subject = 'Message Subject';
$email->Body = 'test';
$email->AddAddress( 'william@hotmail.com' );
$file_to_attach = $_FILES["cv"]["tmp_name"];
$email->AddAttachment( $file_to_attach , $_FILES["cv"]["name"]);
return $email->Send();
我无法收到附件文件并上传。
我错过了任何代码吗??
答案 0 :(得分:0)
您的代码没有任何问题 - 它适用于localhost(以及我),因此它必须是您的服务器环境的问题。这可能是几件事:
没有安装邮件服务器的Windows服务器?它可能是您上传文件的权限,或者根本就是上传文件的权限,因为这也是通过php.ini控制的。
我建议你分开各个阶段:
上传文件并保存,检查服务器上是否有文件。
检查您的PHP脚本是否可以查看和读取上传的文件(和 请read the docs了解如何做 这是正确的。)
发送一封没有附件的简单电子邮件。如果这有效,你就会知道你的 邮件服务器还可以。
当所有单件都在工作时,将它们连接在一起。
答案 1 :(得分:0)
<?php
if(isset($_POST['sbt_resume'])){
$ext = explode('.',$_FILES['upload_resume']['name']);
$extension = $ext[1];
$newname = uniqid();
$full_local_path = 'resume/'.$newname.'.'.$extension;
$upld = move_uploaded_file($_FILES['upload_resume']['tmp_name'], "$full_local_path");
require_once('PHPMailer/class.phpmailer.php');
$emailid = new PHPMailer();
$emailid->IsSMTP(); // enable SMTP
$emailid->SMTPAuth = true; // authentication enabled
$emailid->Host = "smtp.gmail.com";
$emailid->Port = 465; // or 587
$emailid->IsHTML(true);
$emailid->SMTPSecure = 'ssl';
$emailid->Username = "yourgmail@gmail.com";
$emailid->Password = "";
$emailid->From = "yourgmail@gmail.com";
$emailid->FromName = $name;
$emailid->Subject = ".";
$emailid->Body = "Atachement";
$emailid->AddAddress("");
$emailid->AddBCC($email);
$emailid->AddAttachment($full_local_path);
$emailid->Send();
echo "<font style='color: green; margin-top: 10px;'>Thank you for upload your Resume we will get back you soon.</font>";
}
?>
<form class="contact-form clearfix" action="" method="post" enctype="multipart/form-data">
<div class="row">
<!-- col-md-3 -->
<div class="col-md-4 col-sm-4 col-xs-4">
<div class="input-label">
<p style="padding-top: 10px;">upload <span>*</span></p>
</div>
</div>
<div class="col-md-4 col-sm-4 col-xs-4">
<input accept="" type="file" name="upload_resume" class="valid" style="border: 1px solid #E0E0E0;padding: 12px 15px;">
</div>
<!-- col-md-9 -->
</div>
<!-- row -->
<!-- row -->
<div class="row">
<div class="col-md-12 col-sm-12 col-xs-12">
<p class="contact-button clearfix">
<span><input type="submit" name="sbt_resume" value="Send" id="submit-contact"></span>
</p>
</div>
<!-- col-md-12 -->
</div>
<!-- row -->
</form>