ホームページ >バックエンド開発 >PHPチュートリアル >ソケットを使用したメール送信について質問があります。
ソケットを使用した電子メールの送信に問題があります
ソケットを使用して電子メールを送信することについてオンラインで読みました
基本的には
に内容を残しておきます。
件名:
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>