PHP:使用电子邮件停止@ something.com自动追加“发件人”字段

时间:2009-12-21 09:59:17

标签: php email networking

我希望能够通过电子邮件将文本发送到手机(因为每个手机都有自己的地址),并且为了指定来自,我想指定我自己的号码,有没有办法做到这一点?

例如:

$from = '7785555555';
if(mail($to, $subject, $message, "From: $from"))
  echo "Mail sent";

如果我这样做,电子邮件中的发件人将是7785555555@hostname.com。有什么方法可以发送它,以便它不会自动附加主机名吗?

谢谢! 肖恩

2 个答案:

答案 0 :(得分:1)

试试这个:

$from = '7785555555 <7785555555@hostname.com>';

答案 1 :(得分:1)

也许最好使用PHPMailer(http://phpmailer.worxware.com/index.php

参见示例@ http://phpmailer.worxware.com/index.php?pg=examplebmail

require_once('../class.phpmailer.php');

$mail             = new PHPMailer(); // defaults to using php "mail()"

$body             = file_get_contents('contents.html');
$body             = eregi_replace("[\]",'',$body);

$mail->AddReplyTo("name@yourdomain.com","First Last");

$mail->SetFrom('name@yourdomain.com', 'First Last');

$mail->AddReplyTo("name@yourdomain.com","First Last");

$address = "whoto@otherdomain.com";
$mail->AddAddress($address, "John Doe");

$mail->Subject    = "PHPMailer Test Subject via mail(), basic";

$mail->AltBody    = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test

$mail->MsgHTML($body);

$mail->AddAttachment("images/phpmailer.gif");      // attachment
$mail->AddAttachment("images/phpmailer_mini.gif"); // attachment

if(!$mail->Send()) {
  echo "Mailer Error: " . $mail->ErrorInfo;
} else {
  echo "Message sent!";
}

在这部分:

$mail->SetFrom('name@yourdomain.com', 'First Last');

您可以为来自地址设置电子邮件名称和电子邮件。