web-dev-qa-db-fra.com

Comment définir le nom d'un expéditeur d'email via PHP

Donc, je veux que le champ from quand un email est ouvert soit quelque chose comme

"Jack Sparrow Via somesite" par opposition à une adresse email explicite. 

Je me demande comment définir ceci dans la fonction mail() de PHP?

12
algorithmicCoder

Vous pouvez accomplir cela en utilisant des en-têtes de base.

<?php
$to      = '[email protected]';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: Jack Sparrow <[email protected]>' . PHP_EOL .
    'Reply-To: Jack Sparrow <[email protected]>' . PHP_EOL .
    'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);
?>
29
enderskill

Vous devez définir vos en-têtes:

$to = "[email protected]";
$header = "FROM: Jack Sparrow <[email protected]>\r\n";
$message = "Your message here.";
$subject = "Your subject";

mail($to,$subject,$message,$header) or die();
10
James
$to = "[email protected]";
$message = "Your message here.";
$subject = "Your subject";

mail($to,$subject,$message,$header, '-f [email protected] -F "Jack Sparrow"') or die();

Ajoutez simplement le paramètre -f pour fournir le courrier électronique de l'expéditeur et le paramètre -F pour fournir le nom de l'expéditeur à la fonction mail (), le tout sous forme de chaîne.

Note: guillemets autour de "Jack Sparrow"

En supposant que vous utilisez sendmail sur une machine Linux:

Vous pouvez trouver des informations plus détaillées en tapant "man sendmail" dans votre shell.

2
Luis Cardoso

Si vous utilisez PHP Mailer de GitHub, procédez comme suit:

$mail->SetFrom("[email protected]", "MIBC");
2
Jithu Wilson C

juste utiliser comme ça

$headers .= 'From: [Name of the person]'.'<'. $this->from .'>'. "\n";

dans la section d'en-tête.

2
vinoth

Je ne sais pas exactement ce que vous voulez dire, mais comme vous pouvez le voir sur Fonction de courrier PHP.net .

Pour ajouter le nom à la section from, vous devez l’envoyer dans les en-têtes. From:Name<[email protected]>

1
kwelch