0

我是 PHP 的新手。我的目标是向在我的系统中注册的用户发送电子邮件。

这是我的代码:

$msg= " Hi $gen./$lName,  copy and paste this code in order to activate  
your account copy and paste this code:$num" ;
$email = "$emailadd";
$name= "GoodFaith Network Marketing Inc.";
$subject = "Account Activation";
$message = wordwrap($msg,70) ;
$sender = "cjoveric@myalphaedge.com";
$mail_header="From: ".$name."<". $sender. ">\r\n";
$sendmail=mail($email, $subject,$message, $mail_header );

我能够发送电子邮件,但我的问题是我想知道用户的电子邮件地址是否存在于 Yahoo、GMail 或其他邮件服务中。

有什么办法可以过滤掉无效的电子邮件?

4

3 回答 3

1

使用 SMTP 邮件最好且易于使用的SMTP

$mail->IsHTML(true);
$mail->From="admin@example.com";
$mail->FromName="Example.com";
$mail->Sender=$from; // indicates ReturnPath header
$mail->AddReplyTo($from, $from_name); // indicates ReplyTo headers
$mail->AddCC('cc@phpgang.com.com', 'CC: to phpgang.com');
$mail->Subject = $subject;
$mail->Body = $body;
$mail->AddAddress($to);
if(!$mail->Send())
{
      $error = 'Mail error: '.$mail->ErrorInfo;
      return true;
 }
 else
 {
      $error = 'Message sent!';
      return false;
 }
于 2013-02-02T05:48:17.333 回答
0

并不真地。你能做的最好的事情就是发送一封电子邮件,看看用户是否回复了它。

于 2013-02-02T04:22:16.423 回答
0

对某些用户来说,对电子邮件地址进行正则表达式检查可能会令人沮丧,具体取决于正则表达式。所以,我建议跳过你的正则表达式测试,只发送带有确认链接的验证电子邮件——一旦有人提出新的 DNS 或 SMTP 扩展,其他任何事情都会让你的应用程序变得脆弱并容易受到破坏。最好在他们注意的时候解决这个问题。

例如:
- 需要在您的网站中填写的确认码
- 一个链接,指向您的网站,需要访问

并且仍然不确定电子邮件之后是否存在,因为很容易简单地创建一个临时电子邮件以通过验证并在之后将其删除。

您可以使用 Google API 让您的用户使用他们的帐户登录,而不是验证电子邮件地址。也可以以类似的方式使用 OpenID。不过,即使这也不是 100% 完美的。但是,嘿,没有什么是 100% 的。我们都尽可能地努力做我们想要的工作。而已。

PS:ICANN 有望立即批准 UNICODE 域名。这将与电子邮件地址的正则表达式模式一起玩得很开心。

于 2013-02-02T08:02:17.763 回答