先google了一下,发现很多问相关问题的但没有相关的解答,在phpclasses里也没有找到相关的类于是自己边看stmp的相关协议边开始尝试curl
SMTP协议
这个在网上可以找到多相关的例子,可以自己实验一下使用telnet去连接mail服务器
复制代码 代码如下:
$ telnet 邮箱SMTP服务地址 25
Trying 邮箱服务IP地址...
Connected to 邮箱SMTP服务地址.
Escape character is '^]'.
exchange邮箱服务器地址 Microsoft ESMTP MAIL Service ready at Sat, 2 Jun 2012 15:02:12 +0800
EHLO 127.0.0.1
-exchange邮箱服务器地址 Hello [邮箱服务IP地址]
-SIZE
-PIPELINING
-DSN
-ENHANCEDSTATUSCODES
-X-ANONYMOUSTLS
-AUTH NTLM LOGIN
-X-EXPS GSSAPI NTLM
-8BITMIME
-BINARYMIME
-CHUNKING
-XEXCH50
XRDST
AUTH LOGIN
VXNlcm5hbWU6
用户名(base64_encode)
UGFzc3dvcmQ6
密码(base64_encode)
2.7.0 Authentication successful
MAIL FROM:发件箱地址
2.1.0 Sender OK
RCPT TO:收件箱地址
2.1.5 Recipient OK
DATA
Start mail input; end with
要发送的内容(这里的相关的规范有很多)
.
2.6.0 Queued mail for delivery
QUIT
2.0.0 Service closing transmission channel
Connection closed by foreign host.
php测试代码:
复制代码 代码如下:
header("content-type:text/html;charset=utf-8");
$smtp = array(
"url" => "邮箱SMTP服务器地址",
"port" => "邮箱SMTP服务器端口", // 一般为25
"username" => "用户名",
"password" => "密码",
"from" => "发件地址",
"to" => "收件地址",
"subject" => "测试一下标题",
"body" => "测试一下内容"
);
$CRLF = "\r\n";
$test = "";
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $smtp['url']);
curl_setopt($curl, CURLOPT_PORT, $smtp['port']);
curl_setopt($curl, CURLOPT_TIMEOUT,10);
function inlineCode($str){
$str = trim($str);
return $str?'=?UTF-8?B?'.base64_encode($str).'?= ':'';
}
function buildHeader($headers){
$ret = '';
foreach($headers as $k=>$v){
$ret.=$k.': '.$v."\n";
}
return $ret;
}
//
$header = array(
'Return-path'=>'',
'Date'=>date('r'),
'From'=> '',
'MIME-Version'=>'1.0',
'Subject'=>inlineCode($smtp['subject']),
'To'=>$smtp['to'],
'Content-Type'=>'text/html; charset=UTF-8; format=flowed',
'Content-Transfer-Encoding'=>'base64'
);
$data = buildHeader($header).$CRLF.chunk_split(base64_encode($smtp['body']));
$content = "EHLO ".$smtp["url"].$CRLF; // 先得hello一下
$content .= "AUTH LOGIN".$CRLF.base64_encode($smtp["username"]).$CRLF.base64_encode($smtp["password"]).$CRLF; // 验证登陆
$content .= "MAIL FROM:".$smtp["from"].$CRLF; // 发件地址
$content .= "RCPT TO:".$smtp["to"].$CRLF; // 收件地址
$content .= "DATA".$CRLF.$data.$CRLF.".".$CRLF; // 发送内容
$content .= "QUIT".$CRLF; // 退出
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); // curl接收返回数据
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $content);
$test = curl_exec($curl);
var_dump($test);
echo "
\r\n";
var_dump($content);
// 结束
curl_close($curl);
以上只是测试的php
包测试+修改花了近6个小时让产品的代码兼容了fsockopen和curl
以后有空写个兼容fsockopen和curl简单发送邮件的smtp类

PHP is widely used in e-commerce, content management systems and API development. 1) E-commerce: used for shopping cart function and payment processing. 2) Content management system: used for dynamic content generation and user management. 3) API development: used for RESTful API development and API security. Through performance optimization and best practices, the efficiency and maintainability of PHP applications are improved.

PHP makes it easy to create interactive web content. 1) Dynamically generate content by embedding HTML and display it in real time based on user input or database data. 2) Process form submission and generate dynamic output to ensure that htmlspecialchars is used to prevent XSS. 3) Use MySQL to create a user registration system, and use password_hash and preprocessing statements to enhance security. Mastering these techniques will improve the efficiency of web development.

PHP and Python each have their own advantages, and choose according to project requirements. 1.PHP is suitable for web development, especially for rapid development and maintenance of websites. 2. Python is suitable for data science, machine learning and artificial intelligence, with concise syntax and suitable for beginners.

PHP is still dynamic and still occupies an important position in the field of modern programming. 1) PHP's simplicity and powerful community support make it widely used in web development; 2) Its flexibility and stability make it outstanding in handling web forms, database operations and file processing; 3) PHP is constantly evolving and optimizing, suitable for beginners and experienced developers.

PHP remains important in modern web development, especially in content management and e-commerce platforms. 1) PHP has a rich ecosystem and strong framework support, such as Laravel and Symfony. 2) Performance optimization can be achieved through OPcache and Nginx. 3) PHP8.0 introduces JIT compiler to improve performance. 4) Cloud-native applications are deployed through Docker and Kubernetes to improve flexibility and scalability.

PHP is suitable for web development, especially in rapid development and processing dynamic content, but is not good at data science and enterprise-level applications. Compared with Python, PHP has more advantages in web development, but is not as good as Python in the field of data science; compared with Java, PHP performs worse in enterprise-level applications, but is more flexible in web development; compared with JavaScript, PHP is more concise in back-end development, but is not as good as JavaScript in front-end development.

PHP and Python each have their own advantages and are suitable for different scenarios. 1.PHP is suitable for web development and provides built-in web servers and rich function libraries. 2. Python is suitable for data science and machine learning, with concise syntax and a powerful standard library. When choosing, it should be decided based on project requirements.

PHP is a scripting language widely used on the server side, especially suitable for web development. 1.PHP can embed HTML, process HTTP requests and responses, and supports a variety of databases. 2.PHP is used to generate dynamic web content, process form data, access databases, etc., with strong community support and open source resources. 3. PHP is an interpreted language, and the execution process includes lexical analysis, grammatical analysis, compilation and execution. 4.PHP can be combined with MySQL for advanced applications such as user registration systems. 5. When debugging PHP, you can use functions such as error_reporting() and var_dump(). 6. Optimize PHP code to use caching mechanisms, optimize database queries and use built-in functions. 7


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

Zend Studio 13.0.1
Powerful PHP integrated development environment

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

SublimeText3 Mac version
God-level code editing software (SublimeText3)

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft