ホームページ >バックエンド開発 >PHPチュートリアル >ソケットを使用したメール送信について質問があります。

ソケットを使用したメール送信について質問があります。

WBOY
WBOYオリジナル
2016-06-13 12:56:391061ブラウズ

ソケットを使用した電子メールの送信に問題があります
ソケットを使用して電子メールを送信することについてオンラインで読みました
基本的には
に内容を残しておきます。 件名:

XXXXXXX ここが場所です
.

しかし、div
のようなタグを追加した後 常にエスケープされます

そうするとコンテンツに写真を入れると直接受け取れない…憂鬱
変更したらどうすればいいですか????
コードは次のとおりです

<br>
クラス aMail{<br>
パブリック静的 $smtp_prot = 25;<br>
public static $debug = true;<br>
パブリック静的 $crlf = "rn";<br>
var $smtp_host;<br>
var $login_name;<br>
var $password;<br>
var $form;<br>
var $to;<br>
var $err;<br>
var $message;<br>
var $socket;<br>
function __construct($options=""){<br>
if($options == "" || !is_array($options)){<br>
false を返します;<br>
}<br>
foreach($options as $key=>$val){<br>
$this->$key = $val;<br>
}<br>
}<br>
<br>
関数 sendMail(){ <br>
$this->socket = fsockopen($this->smtp_host,self::$smtp_prot);<br>
$socket = $this->socket;<br>
$crlf = self::$crlf;<br>
stream_set_blocking($socket,true);<br>
$this->メッセージ = fgets($socket,512);
echo $this->message;<br>
if(!$this->print_message("/^220/","接続失敗")){<br>
false を返します;<br>
}<br>
<br>
fputs($socket,"EHLO 127.0.0.1 ".$crlf);<br>
$this->メッセージ = fgets($socket, 512);
if(!$this->print_message("/^2/","EHLO 失敗")){<br>
false を返します;<br>
}<br>
<br>
fputs($socket,"認証ログイン".$crlf);<br>
$this->メッセージ = fgets($socket, 512);
$this->print_message("/^2/","認証ログイン失敗");<br>
<br>
fputs($socket,base64_encode($this->login_name).$crlf);<br>
$this->メッセージ = fgets($socket, 512);
$this->print_message("/^2/","login_name failed");<br>
<br>
fputs($socket,base64_encode($this->password).$crlf);<br>
$this->メッセージ = fgets($socket, 512);
$this->print_message("/^2/","パスワード失敗");
<br>
fputs($socket,"MAIL FROM: <".$this->from.">".$crlf);<br />
$this->message = fgets($socket, 512);<br />
$this->print_message("/^2/","失敗から");<br />
<br />
fputs($socket,"RCPT TO: <".$this->to.">".$crlf);<br />
$this->message = fgets($socket, 512);<br />
$this->print_message("/^334|^2/","失敗する");<br />
<br />
fputs($socket,"DATA".$crlf);<br />
$this->message = fgets($socket, 512);<br />
$this->print_message("/^334|^2/","データ失敗");
<br />
$html = implode("",array(<br />
"宛先: ".$this->to.$crlf,<br />
"差出人: ".$this->from.$crlf,<br />
"件名: ".$this->subject.$crlf.$crlf,<br />
$this->content.$crlf.".".$crlf,<br />
));<br />
<br />
fputs($socket,$html);<br />
$this->message = fgets($socket, 512);<br />
$this->print_message("/^2/","html 失敗");<br />
<br />
fputs($socket, "QUIT".$crlf);<br />
$this->message=fgets($socket,512);<br />
$this->print_message("/^2/","終了失敗");<br />
}<br />
function print_message($reg="",$err=""){<br />
$message = $this->message;<br />
if(preg_match($reg,$message)<=0){<br />
$this->err = $err."___".$message."-------------";<br />
echo $err."___".$message."-------------<br>";<br>
false を返します;<br>
}<br>
if(self::$debug){<br>
echo $this->message."<br>";<br>
}<br>
true を返します;<br>
}<br>
}<br>
$mail_options = array(<br>
"smtp_host"=>"smtp.sina.com.cn",<br>
"login_name"=>"ycwtt0527", <br><br>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。