用附件发送电子邮件到多封电子邮件
问题描述:
一旦用户点击注册页面上的提交按钮,我试图发送一封电子邮件给管理员。下面给出的代码工作正常,我得到了管理员电子邮件地址的所有细节。我被困在两个地方:用附件发送电子邮件到多封电子邮件
- 我想发一个抄送到[email protected]了。我试图在像
$receiver = "[email protected],[email protected]";
这样的变量中加逗号,但它不起作用。邮件不发送。需要知道如何将这封电子邮件发送给两个不同的人。 -
$panph1
变量返回服务器上的文件名(本例中为1467896354.jpg)。它会在电子邮件正文中显示文件名以及所有其他数据。这个文件存储在/pancard/1467896354.jpg - 我应该做些什么修改才能得到这封电子邮件附带的实际文件。
感谢
$subject = "New registration from $name ";
$receiver = "[email protected]";
$prod_id1=$rowcc['prod_id'];
$mobile1=$rowcc['mobile'];
$reg=$rowcc['reg_date'];
$ip1=$rowcc['ip'];
$panno1=$rowcc['pan_no'];
$panph1=$rowcc['pan_photo'];
$message = "
<html>
<body>
<table>
<tr>
<td>Product ID</td>
<td>:</td>
<td>$prod_id1</td>
</tr>
<tr>
<td>Name</td>
<td>:</td>
<td>$name</td>
</tr>
<tr>
<td>Email Address</td>
<td>:</td>
<td>$to</td>
</tr>
<tr>
<td>Mobile</td>
<td>:</td>
<td>$mobile1</td>
</tr>
<tr>
<td>Registration Date</td>
<td>:</td>
<td>$reg</td>
</tr>
<tr>
<td>IP Address</td>
<td>:</td>
<td>$ip1</td>
</tr>
<tr>
<td>Pan Card Number</td>
<td>:</td>
<td>$panno1</td>
</tr>
<tr>
<td>Pan Card Photo</td>
<td>:</td>
<td>$panph1</td>
</tr>
</table>
</body>
</html>
";
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From:'.$from."\r\n"
.'Reply-To: $receiver'."\r\n";
mail($receiver,$subject, $message, $headers);
答
为什么不使用PhpMailer?
许多PHP开发人员在他们的代码中使用电子邮件。唯一支持这种功能的PHP函数 是mail()函数。但是, 不提供任何使用流行功能的帮助,例如 基于HTML的电子邮件和附件。
下面是使用PHPMailer的一个例子:
<?php
require 'PHPMailerAutoload.php';
$mail = new PHPMailer;
//$mail->SMTPDebug = 3; // Enable verbose debug output
$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = 'smtpserver.com'; // Specify main SMTP server. If you dont have one us GMAL or mandrill
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = '[email protected]'; // SMTP username
$mail->Password = 'pass'; // SMTP password
$mail->SMTPSecure = 'tls'; // Enable TLS encryption, `ssl` also accepted
$mail->Port = 587; // TCP port to connect to
$mail->setFrom('[email protected]', 'Mailer');
$mail->addAddress('[email protected]', 'Joe User'); // Add a recipient
$mail->addAddress('[email protected]'); // Name is optional
$mail->addReplyTo('[email protected]', 'Information');
$mail->addCC('[email protected]');
$mail->addBCC('[email protected]');
$mail->addAttachment('/var/tmp/file.tar.gz'); // Add attachments
$mail->addAttachment('/tmp/image.jpg', 'new.jpg'); // Optional name
$mail->isHTML(true); // Set email format to HTML
$mail->Subject = 'Here is the subject';
$mail->Body = 'This is the HTML message body <b>in bold!</b>';
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
if(!$mail->send()) {
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent';
}
可能重复http://*.com/questions/12301358/send-attachments-with-php-mail – ecorvo
我看到这个页面我张贴之前我的问题,它谈论PHPMailer脚本,但我有我自己的类和'mail()'函数工作正常。它只是我不知道正确的语法添加CC(另一封电子邮件)和内容类型/标题/语法来添加附件 – Sabha
您是否尝试过将此标头发送电子邮件副本? '$ headers。='抄送:[email protected]'。 “\ r \ n”;' – Nick