发送mime邮件类_PHP
if(basename($PHP_SELF)== "class.html_mime_mail.inc")
{
include "fileinfo.inc";
echo "
<br> 如果不含圖檔:<br> \$mail = new html_mime_mail();<br> \$html =\"HTML內容\";<br> \$mail->add_html(\$html, \$text);<br> \$mail->build_message();<br> \$mail->send(收信人,收信Email,發信人,發信Email,標題,額外Header);<br> <br> <hr><br> 如果含圖檔:<br> \$url=\"www.cuti.com.my/AD/\"; //圖檔位?FONT color="#007700">} ?FONT color="#007700">}頭無http:// 結尾有斜線<br> \$path=\"/MAIL/AD/\"; //圖檔路徑 結尾有斜線<br> <br> \$filename1 = 'a.jpg';<br> \$backgrnd1 = fread(\$fp = fopen(\$path.\$filename1, 'r'), filesize(\$path.\$filename1));<br> fclose(\$fp);<br> ...依此類推...<br> \$filename6 = 'f.gif';<br> \$backgrnd6 = fread(\$fp = fopen(\$path.\$filename6, 'r'), filesize(\$path.\$filename6));<br> fclose(\$fp);<br> <br> \$mail->add_html_image(\$backgrnd1,\$filename1,'image/jpeg','http://'.\$url.\$filename1);<br> ...依此類推...<br> \$mail->add_html_image(\$backgrnd6,\$filename6,'image/gif','http://'.\$url.\$filename6);<br> <br> \$mail = new html_mime_mail();<br> \$html =\"HTML含圖內容\";<br> \$mail->add_html(\$html, \$text);<br> \$mail->build_message();<br> \$mail->send(收信人,收信Email,發信人,發信Email,標題,額外Header);<br> ";<br> <br> }<br> /***************************************<br> ** Title.........: HTML Mime Mail class<br> ** Version.......: 1.26<br> ** Author........: Richard Heyes <richard.heyes><br> ** Filename......: html_mime_mail.class<br> ** Last changed..: 25/06/2000<br> ** Notes.........: Based upon mime_mail.class<br> ** by Tobias Ratschiller <tobias><br> ** and Sascha Schumann <sascha>.<br> ** - Thanks to Thomas Flemming for supplying a fix<br> ** for Win32.<br> ** - Made headers terminated by CRLF instead of LF, now<br> ** compliant with RFC822. Thanks to Pao-Hsi Huang.<br> ** - Fixed bug; certain mail systems (gmx.net in particular)<br> ** were rejecting mail because of a space character either<br> ** side of the equal sign on the boundary line. Thanks to<br> ** Peter Holm for notifying me.<br> ** - Fixed bug; $html_images was tested to be an array or not<br> ** but was set to be an array during object creation, so the<br> ** test always returned true. Thanks to Bob Silva for<br> ** notifying me.<br> ** - Fixed bug; when looping with $obj->send(), From: headers<br> ** were accumulating. Bummer. Thanks to Lance Rasmussen for<br> ** notifying me.<br> ** - See http://www.heyes-computing.net/scripts/ for a zip/tar<br> ** containing an example script.<br> ***************************************/ <br> <br> class html_mime_mail{<br> <br> var $headers;<br> var $body;<br> var $multipart;<br> var $mime;<br> var $html;<br> var $html_text;<br> var $html_images = array();<br> var $cids = array();<br> var $do_html;<br> var $parts = array();<br> <br> /***************************************<br> ** Constructor function. Sets the headers<br> ** if supplied.<br> ***************************************/ <br> function html_mime_mail($headers = '){<br> $this->headers = $headers;<br> }<br> <br> /***************************************<br> ** Adds a html part to the mail.<br> ** Also replaces image names with<br> ** content-id's.<br> ***************************************/ <br> function add_html($html, $text){<br> $this->do_html = 1;<br> $this->html = $html;<br> $this->html_text = $text;<br> if(is_array($this->html_images) AND count($this->html_images) > 0){<br> /* for($i=0; $i<count>html_images); $i++){<br> $this->html = ereg_replace($this->html_images[$i]['name'], 'cid:'.$this->html_images[$i]['cid'], $this->html);<br> }<br> */ <br> }<br> }<br> <br> /***************************************<br> ** Builds html part of email.<br> ***************************************/ <br> function build_html($orig_boundary){<br> $sec_boundary = '=_'.md5(uniqid(time()));<br> $thr_boundary = '=_'.md5(uniqid(time()));<br> <br> if(count($this->html_images) == 0){<br> $this->multipart.= '--'.$orig_boundary. "\n";<br> $this->multipart.= 'Content-Type: multipart/alternative;'.chr(10).chr(9). 'boundary="'.$sec_boundary. "\"\n\n\n";<br> <br> // ttj added below <br> $this->multipart.= '--'.$thr_boundary. "\n";<br> $this->multipart.= 'Content-Type: text/plain'. "\n\n";<br> $this->multipart.= $this->html_text. "\n\n";<br> $this->multipart.= '--'.$thr_boundary. "--\n\n";<br> // ttj added above <br> $this->multipart.= '--'.$sec_boundary. "\n";<br> $this->multipart.= 'Content-Type: text/plain'. "\n";<br> $this->multipart.= 'Content-Transfer-Encoding: base64'. "\n\n";<br> $this->multipart.= chunk_split(base64_encode($this->html_text)). "\n\n";<br> // ttj added below <br> $this->multipart.= '--'.$thr_boundary. "\n";<br> $this->multipart.= 'Content-Type: text/html'. "\n\n";<br> $this->multipart.= $this->html. "\n\n";<br> $this->multipart.= '--'.$thr_boundary. "--\n\n";<br> // ttj added above <br> <br> $this->multipart.= '--'.$sec_boundary. "\n";<br> $this->multipart.= 'Content-Type: text/html'. "\n";<br> $this->multipart.= 'Content-Transfer-Encoding: base64'. "\n\n";<br> $this->multipart.= chunk_split(base64_encode($this->html)). "\n\n";<br> $this->multipart.= '--'.$sec_boundary. "--\n\n";<br> }else{<br> $this->multipart.= '--'.$orig_boundary. "\n";<br> $this->multipart.= 'Content-Type: multipart/related;'.chr(10).chr(9). 'boundary="'.$sec_boundary. "\"\n\n\n";<br> <br> $this->multipart.= '--'.$sec_boundary. "\n";<br> $this->multipart.= 'Content-Type: multipart/alternative;'.chr(10).chr(9). 'boundary="'.$thr_boundary. "\"\n\n\n";<br> <br> $this->multipart.= '--'.$thr_boundary. "\n";<br> $this->multipart.= 'Content-Type: text/plain'. "\n";<br> $this->multipart.= 'Content-Transfer-Encoding: base64'. "\n\n";<br> $this->multipart.= chunk_split(base64_encode($this->html_text)). "\n\n";<br> <br> // ttj added below <br> $this->multipart.= '--'.$thr_boundary. "\n";<br> $this->multipart.= 'Content-Type: text/html'. "\n\n";<br> $this->multipart.= $this->html. "\n\n";<br> $this->multipart.= '--'.$thr_boundary. "--\n\n";<br> // ttj added above <br> <br> $this->multipart.= '--'.$thr_boundary. "\n";<br> $this->multipart.= 'Content-Type: text/html'. "\n";<br> $this->multipart.= 'Content-Transfer-Encoding: base64'. "\n\n";<br> $this->multipart.= chunk_split(base64_encode($this->html)). "\n\n";<br> $this->multipart.= '--'.$thr_boundary. "--\n\n";<br> <br> for($i=0; $i<count>html_images); $i++){<br> $this->multipart.= '--'.$sec_boundary. "\n";<br> $this->build_html_image($i);<br> }<br> <br> $this->multipart.= "--".$sec_boundary. "--\n\n";<br> }<br> }<br> /***************************************<br> ** Adds an image to the list of embedded<br> ** images.<br> ***************************************/ <br> function add_html_image($file, $name = ', $c_type= 'application/octet-stream', $location= '){<br> $this->html_images[] = array( 'body' => $file,<br> 'name' => $name,<br> 'c_type' => $c_type,<br> 'location' => $location,<br> 'cid' => md5(uniqid(time())) );<br> }<br> <br> <br> /***************************************<br> ** Adds a file to the list of attachments.<br> ***************************************/ <br> function add_attachment($file, $name = ', $c_type= 'application/octet-stream'){<br> $this->parts[] = array( 'body' => $file,<br> 'name' => $name,<br> 'c_type' => $c_type );<br> }<br> <br> /***************************************<br> ** Builds an embedded image part of an<br> ** html mail.<br> ***************************************/ <br> function build_html_image($i){<br> $this->multipart.= 'Content-Type: '.$this->html_images[$i][ 'c_type'];<br> <br> if($this->html_images[$i][ 'name'] != ') $this->multipart .= '; name="'.$this->html_images[$i][ 'name']. "\"\n";<br> else $this->multipart .= "\n";<br> <br> $this->multipart.= 'Content-Transfer-Encoding: base64'. "\n";<br> $this->multipart.= 'Content-Location:'.$this->html_images[$i][ 'location']. "\n";<br> $this->multipart.= 'Content-ID: html_images[$i][ 'cid']. ">\n\n";<br> $this->multipart.= chunk_split(base64_encode($this->html_images[$i][ 'body'])). "\n";<br> }<br> <br> /***************************************<br> ** Builds a single part of a multipart<br> ** message.<br> ***************************************/ <br> function build_part($i){<br> $message_part = ';<br> $message_part.= 'Content-Type: '.$this->parts[$i][ 'c_type'];<br> if($this->parts[$i][ 'name'] != ')<br> $message_part .= '; name="'.$this->parts[$i][ 'name']. "\"\n";<br> else<br> $message_part .= "\n";<br> <br> // Determine content encoding. <br> if($this->parts[$i][ 'c_type'] == 'text/plain'){<br> $message_part.= 'Content-Transfer-Encoding: base64'. "\n\n";<br> $message_part.= chunk_split(base64_encode($this->parts[$i][ 'body'])). "\n";<br> }else{<br> $message_part.= 'Content-Transfer-Encoding: base64'. "\n";<br> $message_part.= 'Content-Disposition: attachment; filename="'.$this->parts[$i][ 'name']. "\"\n\n";<br> $message_part.= chunk_split(base64_encode($this->parts[$i][ 'body'])). "\n";<br> }<br> <br> return $message_part;<br> }<br> <br> /***************************************<br> ** Builds the multipart message from the<br> ** list ($this->parts).<br> ***************************************/ <br> function build_message(){<br> $boundary = '=_'.md5(uniqid(time()));<br> <br> $this->headers.= "MIME-Version: 1.0\n";<br> $this->headers.= "Content-Type: multipart/mixed;".chr(10).chr(9). "boundary=\"".$boundary. "\"\n";<br> $this->multipart = ';<br> // $this->multipart.= "This is a MIME encoded message.\nCreated by html_mime_mail.class.\nSee http://www.heyes-computing.net/scripts/ for a copy.\n\n"; <br> <br> if(isset($this->do_html) AND $this->do_html == 1) $this->build_html($boundary);<br> if(isset($this->body) AND $this->body != ') $this->parts[] = array( 'body' => $this->body, 'name' => ', 'c_type' => 'text/plain');<br> <br> for($i=(count($this->parts)-1); $i>=0; $i--){<br> $this->multipart.= '--'.$boundary. "\n".$this->build_part($i);<br> }<br> <br> $this->mime = $this->multipart. "--".$boundary. "--\n";<br> }<br> <br> /***************************************<br> ** Sends the mail.<br> ***************************************/ <br> function send($to_name, $to_addr, $from_name, $from_addr, $subject = ', $headers = '){<br> <br> if($to_name != ') $to = '"'.$to_name. '" ';<br> else $to = $to_addr;<br> <br> if($from_name != ') $from = '"'.$from_name. '" ';<br> else $from = $from_addr;<br> <br> mail($to, $subject, $this->mime, 'From: '.$from. "\n".$headers. "\n".$this->headers);<br> }<br> <br> /***************************************<br> ** Use this method to deliver using direct<br> ** smtp connection. Relies upon Manuel Lemos'<br> ** smtp mail delivery class available at:<br> ** http://phpclasses.upperdesign.com<br> **<br> ** void smtp_send( string *Name* of smtp object,<br> ** string From address,<br> ** array To addresses,<br> ** string Subject)<br> ***************************************/ <br> function smtp_send($smtp_obj, $from_addr, $to_addr, $subject){<br> global $$smtp_obj;<br> $smtp_obj = $$smtp_obj;<br> <br> $this->headers .= 'From: '.$from_addr. "\n";<br> $this->headers .= 'Subject: '.$subject. "\n";<br> <br> if(substr($this->headers, -2) == "\n") $this->headers = substr($this->headers,0,-2);<br> $this->headers = explode( "\n", $this->headers);<br> <br> $smtp_obj->sendmessage($from_addr, $to_addr, $this->headers, $this->mime);<br> }<br> <br> } // End of class. <br> ?><br> </count></count></sascha></tobias></richard.heyes>

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Windows 11 제어판에 Outlook 메일 아이콘이 없나요? 이러한 예상치 못한 상황은 통신 요구를 위해 OutlookMail을 사용하는 일부 개인들 사이에 혼란과 우려를 불러일으켰습니다. 내 Outlook 이메일이 제어판에 표시되지 않는 이유는 무엇입니까? 제어판에 Outlook 메일 아이콘이 없는 데에는 여러 가지 이유가 있을 수 있습니다. Outlook이 올바르게 설치되지 않았습니다. Microsoft Store에서 Office 응용 프로그램을 설치해도 메일 애플릿이 제어판에 추가되지 않습니다. 제어판에 mlcfg32.cpl 파일 위치가 없습니다. 레지스트리의 mlcfg32.cpl 파일 경로가 올바르지 않습니다. 현재 운영 체제가 이 애플리케이션을 실행하도록 구성되어 있지 않습니다.

PHP는 이메일을 비동기식으로 보냅니다. 이메일이 전송될 때까지 오래 기다리지 마세요. 소개: 웹 개발에서 이메일 보내기는 일반적인 기능 중 하나입니다. 하지만 이메일을 보내려면 서버와의 통신이 필요하기 때문에 사용자가 이메일이 전송될 때까지 오랜 시간을 기다려야 하는 경우가 많습니다. 이 문제를 해결하기 위해 PHP를 사용하여 이메일을 비동기적으로 보내 사용자 경험을 최적화할 수 있습니다. 이 기사에서는 특정 코드 예제를 통해 비동기적으로 이메일을 보내고 오랜 대기 시간을 피하기 위해 PHP를 구현하는 방법을 소개합니다. 1. 비동기식 이메일 전송 이해

우리는 최근 Microsoft가 최신 운영 체제인 Windows 11에 추가할 계획인 많은 기능에 대해 이야기해 왔습니다. 그러나 Microsoft가 아무것도 추가하지 않고 아무것도 철회하지 않을 것이라고 생각하지 마십시오. 실제로 소프트웨어 거대 기업은 상당수의 오래된 기능을 제거하기 시작했습니다. Windows 12 출시에 앞서 MSDT 기능을 중단할 계획을 발표한 후, 레드먼드 개발자는 더 나쁜 소식을 전했습니다. 우리는 실제로 원격 메일 슬롯 레거시 도구에 대해 이야기하고 있습니다. 당신이 실제로 이것을 알고 싶다고 말할 때 우리를 믿으십시오. Microsoft는 빌드 25314에서 이 기능을 더 이상 사용하지 않기 시작했습니다. 불과 며칠 전 Microsoft가 새로운 Canary 채널에서 빌드 25314를 출시했다는 사실을 기억하실 것입니다. 위 버전에는 많은 새로운 기능이 포함되어 있습니다.

Word를 사용하여 편지 병합 문서를 인쇄할 때 빈 페이지가 나타나는 경우 이 문서가 도움이 될 것입니다. 메일 병합은 개인화된 문서를 쉽게 작성하여 여러 수신자에게 보낼 수 있는 편리한 기능입니다. Microsoft Word에서 메일 병합 기능은 사용자가 각 수신자에 대해 동일한 콘텐츠를 수동으로 복사하는 데 소요되는 시간을 절약해 주기 때문에 높은 평가를 받고 있습니다. 편지 병합 문서를 인쇄하려면 우편물 탭으로 이동하세요. 그러나 일부 Word 사용자는 메일 병합 문서를 인쇄하려고 할 때 프린터에서 빈 페이지가 인쇄되거나 전혀 인쇄되지 않는다고 보고했습니다. 이는 잘못된 형식이나 프린터 설정 때문일 수 있습니다. 문서 및 프린터 설정을 확인하고 인쇄하기 전에 문서를 미리 확인하여 내용이 올바른지 확인하세요. 만약에

WhatsApp은 사용자가 메시징 플랫폼을 통해 고해상도 사진과 비디오를 보낼 수 있는 새로운 옵션을 출시했습니다. 이 작업이 어떻게 수행되었는지 알아보려면 계속 읽어보세요. WhatsApp은 iPhone 및 Android 사용자가 고해상도로 사진과 비디오를 보낼 수 있는 업데이트를 출시하여 마침내 서비스의 낮은 품질 미디어 공유 제한을 해결했습니다. 이 옵션은 "HD 품질"이라고 하며 사용자가 최소한의 압축으로 더 선명한 사진과 비디오를 보낼 수 있음을 의미합니다. 예를 들어, iPhone에서 캡처한 이미지는 이전 최대 해상도인 920x1280 대신 3024x4032 해상도로 전송할 수 있으며, 비디오는 848×476 대신 1280×718 해상도로 전송할 수 있습니다.

Douyin에서 사용자는 자신의 삶의 세부 사항과 재능을 공유할 수 있을 뿐만 아니라 다른 사용자와 상호 작용할 수도 있습니다. 이 과정에서 사진, 동영상 등의 파일을 다른 사용자에게 전송해야 하는 경우가 있습니다. 그렇다면 Douyin에서 다른 사람에게 파일을 보내는 방법은 무엇입니까? 1. Douyin에서 다른 사람에게 파일을 보내는 방법은 무엇입니까? 1. Douyin을 열고 파일을 보내려는 채팅 인터페이스로 들어갑니다. 2. 채팅 인터페이스에서 "+" 기호를 클릭하고 "파일"을 선택합니다. 3. 파일 옵션에서 사진, 비디오, 오디오 및 기타 파일을 보내도록 선택할 수 있습니다. 보내려는 파일을 선택한 후 "보내기"를 클릭하세요. 4. 상대방이 파일을 수락할 때까지 기다리세요. 상대방이 파일을 수락하면 파일이 성공적으로 전송됩니다. 2. Douyin에서 다른 사람에게 보낸 파일을 삭제하는 방법은 무엇입니까? 1. Douyin을 열고 보낸 문자를 입력하세요.

최근 많은 사용자들이 Outlook 이메일이 보낼 편지함에 갇히는 문제를 보고했습니다. 이메일 전송을 여러 번 시도해도 문제가 해결되지 않았습니다. 이 문제를 보고 보낼 편지함 폴더를 확인하면 메시지가 거기에 남아 있을 것입니다. Outlook 보낼 편지함에 이메일이 걸리는 가능한 원인: 이메일의 첨부 파일이 크기 제한을 초과하여 전송 프로세스가 느려집니다. 메일 서버의 Outlook 계정 인증 문제 Outlook 또는 메일 서버 오프라인 Outlook의 보내기/받기 설정이 잘못되었습니다. Outlook 데이터 파일이 다른 소프트웨어에서 사용되고 있습니다. 바이러스 백신 소프트웨어는 보내는 이메일을 검사합니다. 이 문제로 인해 불편을 겪고 이메일을 보낼 수 없는 경우

Microsoft는 Windows 11용 기본 앱 업데이트의 일환으로 새로운 Outlook을 출시할 계획입니다. 이 앱은 처음부터 다시 제작되었으며 현재 미리보기를 준비 중입니다. 미리보기는 Microsoft의 Windows 11 하이브리드 이벤트 중에 발표될 것 같습니다. 이 프로젝트는 "ProjectMonarch"라고 불리며 이 새로운 Outlook은 1년 넘게 개발되었습니다. 이는 메일, 일정 등 기존 Windows 이메일 클라이언트와 데스크톱 버전의 Outlook을 통합하는 것을 목표로 하는 웹 앱의 재출시입니다. Microsoft는 OutlookOne을 통해 사용자가 다양한 데스크톱 플랫폼에서 이메일을 관리할 수 있도록 돕고자 합니다. 접근하는 방법은 다양합니다
