Maison  >  Article  >  développement back-end  >  Envoi d'e-mails avec PHP : Comment personnaliser les en-têtes de réponse et les pièces jointes

Envoi d'e-mails avec PHP : Comment personnaliser les en-têtes de réponse et les pièces jointes

angryTom
angryTomavant
2019-10-15 15:09:412905parcourir

Envoi de-mails avec PHP : Comment personnaliser les en-têtes de réponse et les pièces jointes

Bien qu'il existe des bibliothèques de classes prêtes à l'emploi (telles que PEAR) qui peuvent facilement ajouter et envoyer des pièces jointes, pour certains petits sites (le matériel du serveur et l'échelle du site Web ne sont pas idéaux), il est nécessaire pour installer PEAR. Cela peut entraîner une charge inutile et réduire l'efficacité du fonctionnement du programme WEB.

En comprenant le format des e-mails, nous pouvons écrire un script pour envoyer des pièces jointes. Le code n'est pas long :

[php]

function mailSend($to, $subject, $message, $attach, $from, $replyto) {
//定义边界线
$boundary = uniqid();
//生成邮件头
$header = "From: $from
Reply-to:$replyto
Content-type: multipart/mixed; boundary=\"$boundary\"";
//获取附件文件的MIME类型
$mimeType = mime_content_type($attach);
//对附件文件进行编码和切分
$fp = fopen($attach, "r");
if ($fp) {
$content = fread($fp, filesize($attach));
$content = chunk_split(base64_encode($content));
fclose($fp);
}
else {
die("Failed to open file…");
}
//生成邮件主体
$body = "
–$boundary
Content-type: text/plain; charset=utf-8;
Content-transfer-encoding: 8bit
$message
–$boundary
Content-Type: $mimeType; name=$attach
Content-Disposition: attachment; filename=$attach
Content-Transfer-Encoding: base64
$content
–$boundary–";
//发送邮件
mail($to, $subject, $body, $header) or die("Failed to send mail…");
}

[/php]

Pour plus de connaissances liées au PHP, veuillez visiter le site Web PHP chinois !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer