通过PHP mail()函数发送简单的附加文件

通过PHP mail()函数发送简单的附加文件,php,forms,attachment,Php,Forms,Attachment,我打算再试一次,因为我的最后一个问题可能让人困惑。 我有一个简单的web表单,由以下一些输入组成(现在,假设我有两个输入,名称和文件输入)。我希望用户上传一个文档(如果可能的话,限制为.doc、.docx、.pdf,如果这不可能实现,让我们只限制为.doc),并且我希望将大小限制在2MB以下 让我换一种说法。要附加的文件在Web服务器上不是。它将动态上载到临时文件夹,通过邮件脚本发送,然后删除 如果这是可能的,请,我需要所有的帮助,我可以得到 我试过Swiftmailer,PHPMailer,P

我打算再试一次,因为我的最后一个问题可能让人困惑。 我有一个简单的web表单,由以下一些输入组成(现在,假设我有两个输入,名称和文件输入)。我希望用户上传一个文档(如果可能的话,限制为.doc、.docx、.pdf,如果这不可能实现,让我们只限制为.doc),并且我希望将大小限制在2MB以下

让我换一种说法。要附加的文件在Web服务器上不是。它将动态上载到临时文件夹,通过邮件脚本发送,然后删除

如果这是可能的,请,我需要所有的帮助,我可以得到

我试过Swiftmailer,PHPMailer,PEAR,我好像没法让他们工作。我所需要的只是一个简单的脚本,发送一个附加文件,没有更多。不需要验证,什么都不需要

任何帮助都将不胜感激

非常感谢,
Amit

可以使用您列出的所有3个库(PHPMAiler、PEAR和Swiftmailer)

对于PHPMailer,您可以看到:

require_once'../class.phpmailer.php';
$mail=新的PHPMailer(true)//默认使用php“mail()”;true参数意味着它将在错误上抛出异常,这是我们需要捕获的
试一试{
$mail->AddReplyTo('name@yourdomain.com","最后一次",;
$mail->AddAddress('whoto@otherdomain.com","无名氏",;
$mail->SetFrom('name@yourdomain.com","最后一次",;
$mail->AddReplyTo('name@yourdomain.com","最后一次",;
$mail->Subject='PHPMailer测试主题via mail(),advanced';
$mail->AltBody='要查看邮件,请使用与HTML兼容的电子邮件查看器!';//可选-MsgHTML将自动创建备用电子邮件查看器
$mail->MsgHTML(文件获取内容('contents.html');
$mail->AddAttachment('images/phpmailer.gif');//附件
$mail->AddAttachment('images/phpmailer_mini.gif');//附件
$mail->Send();
echo“消息发送正常

\n”; }捕获(phpmailerException$e){ echo$e->errorMessage();//来自PHPMailer的漂亮错误消息 }捕获(例外$e){ echo$e->getMessage();//来自其他任何内容的无聊错误消息! }
AddAttachment将从服务器获取一个文件

如何上传一个文件表单一个HTML表单就可以了。发送电子邮件后,您可以从服务器上删除()文件

这样可以更好地理解和上传文件


你想做的一切都很容易实现,但解释的时间要比做的时间长:)但是有了我给你的所有链接,你就拥有了你所需要的一切。如果您有具体问题,请告诉我。

您可以使用列出的所有3个库(PHPMAiler、PEAR和Swiftmailer)

对于PHPMailer,您可以看到:

require_once'../class.phpmailer.php';
$mail=新的PHPMailer(true)//默认使用php“mail()”;true参数意味着它将在错误上抛出异常,这是我们需要捕获的
试一试{
$mail->AddReplyTo('name@yourdomain.com","最后一次",;
$mail->AddAddress('whoto@otherdomain.com","无名氏",;
$mail->SetFrom('name@yourdomain.com","最后一次",;
$mail->AddReplyTo('name@yourdomain.com","最后一次",;
$mail->Subject='PHPMailer测试主题via mail(),advanced';
$mail->AltBody='要查看邮件,请使用与HTML兼容的电子邮件查看器!';//可选-MsgHTML将自动创建备用电子邮件查看器
$mail->MsgHTML(文件获取内容('contents.html');
$mail->AddAttachment('images/phpmailer.gif');//附件
$mail->AddAttachment('images/phpmailer_mini.gif');//附件
$mail->Send();
echo“消息发送正常

\n”; }捕获(phpmailerException$e){ echo$e->errorMessage();//来自PHPMailer的漂亮错误消息 }捕获(例外$e){ echo$e->getMessage();//来自其他任何内容的无聊错误消息! }
AddAttachment将从服务器获取一个文件

如何上传一个文件表单一个HTML表单就可以了。发送电子邮件后,您可以从服务器上删除()文件

这样可以更好地理解和上传文件


你想做的一切都很容易实现,但解释的时间要比做的时间长:)但是有了我给你的所有链接,你就拥有了你所需要的一切。如果您有具体问题,请告诉我。

您最好询问上述其他解决方案中存在的具体问题。让它们发挥作用比尝试推出自己的解决方案要容易得多。事实上,文件附件并不是那么简单。你最好询问一下你在上述其他解决方案中遇到的具体问题。让它们发挥作用比尝试推出自己的解决方案要容易得多。事实上,文件附件并不是那么简单。非常感谢!非常感谢,非常感谢!非常感谢
require_once '../class.phpmailer.php';

$mail = new PHPMailer(true); //defaults to using php "mail()"; the true param means it will throw exceptions on errors, which we need to catch

try {
  $mail->AddReplyTo('name@yourdomain.com', 'First Last');
  $mail->AddAddress('whoto@otherdomain.com', 'John Doe');
  $mail->SetFrom('name@yourdomain.com', 'First Last');
  $mail->AddReplyTo('name@yourdomain.com', 'First Last');
  $mail->Subject = 'PHPMailer Test Subject via mail(), advanced';
  $mail->AltBody = 'To view the message, please use an HTML compatible email viewer!'; // optional - MsgHTML will create an alternate automatically
  $mail->MsgHTML(file_get_contents('contents.html'));
  $mail->AddAttachment('images/phpmailer.gif');      // attachment
  $mail->AddAttachment('images/phpmailer_mini.gif'); // attachment
  $mail->Send();
  echo "Message Sent OK<P></P>\n";
} catch (phpmailerException $e) {
  echo $e->errorMessage(); //Pretty error messages from PHPMailer
} catch (Exception $e) {
  echo $e->getMessage(); //Boring error messages from anything else!
}