带套接字的php邮件

时间:2014-03-11 13:02:07

标签: php sockets email smtp

我正在尝试通过socket发送带有php的邮件。我正在写下面的代码:

 $data="EHLO myName\r\n"."auth login\r\n"."mybase64login\r\n"."mybase64pass=\r\n"."mail from: mymail@gmyhost.com\r\n"."rcpt to: mymail@myhost.com\r\n"."data\r\n"."Sender:".$_GET['name']."\r\n"."Phone:".$_GET['phone']."\r\n"."Email:".$_GET['email']."\r\n"."Msg:".$_GET['msg']."\r\n".".\r\n";
      $fp=  fsockopen("smtp.myhost.com", 25);
      fputs($fp, $data);
      echo fgets($fp);

但我只收到来自服务器的连接建立消息。我没有收到问候语,身份证明信息等等。为什么会这样?

1 个答案:

答案 0 :(得分:0)

试试这个:

fputs($fp, "EHLO your.domain\r\n");
fputs($fp, "AUTH LOGIN\r\n");
fputs($fp, "MAIL FROM:" . $from_mail . "\r\n");
fputs($fp, base64_encode($login) . "\r\n");
fputs($fp, base64_encode($password) . "\r\n");
fputs($fp, "RCPT TO:" . $mail_to . "\r\n");
fputs($fp, "DATA\r\n");
fputs($fp, $header . "\r\n" . $text . "\r\n.\r\n");
fputs($fp, "QUIT\r\n");