Home > Article > Backend Development > PHP uses pear to implement mail sending function. Configuring pear_php tips in windows environment
PHP can use its own mail() function to send emails, but this function is very difficult to use. It needs to configure the mail server and does not support SMTP verification. It cannot work normally in many situations. I found a code to send emails. But it always goes wrong. I use PEAR’s Mail class here and use smtp to send emails.
First install, I recommend using the latest version of PHP5, because I have a lot of problems with PHP4, mostly because the versions of the encapsulated classes are too high and are incompatible with PHP4.
Installation method:
1. Double-click go-pear.bat in the php directory.
2. Enter some setting information according to the prompts, mainly asking whether to access the external network directly or use a proxy. If there is no proxy server, just press Enter. I just press Enter.
3. Then you will be prompted to bind some packages to PHP, select Y.
4. Then install the basic package and prompt that the installation is successful, it’s that simple.
5. Open the php.ini file in the windows directory, and then find the following location:
; UNIX: "/path1:/path2"
;include_path = ".:/php/includes"
;
; Windows: "path1;path2"
;include_path = ".;c:phpincludes"
Remove the comment on the last line, and then change the following path to your PEAR path, for example:
include_path = ".;c:phppear"
Save PHP.INI and then restart APACHE.
Now that PEAR has been installed, the classes we want to use are placed in the pear folder in the php directory, but there are not many classes available now. We need to download and install them online.
You can find the PEAR.bat file in your PHP root directory (you will have this after executing the above installation). This is the command to manage pear. Use it in CMD. You need to set the environment variable PATH, or double-click the generated EV_XXX.REG file. Some of its command functions are as follows:
1. Installation:
Install a pear library from the network:
pear install packagename
Download packages without installing:
pear download packagename
pear download-all
Install the downloaded package:
pear install filename.tgz
2. List:
Currently a list of all available pear libraries on the pear website:
pear remote-list
List installed packages:
pear list
List packages that can be upgraded:
pear list-upgrades
3. Update (upgrade):
Update package:
pear upgrade packagename
pear upgrade-all
4. Remove:
Remove installed packages:
pear uninstall packagename
We enter the PHP directory from cmd and execute pear install mail
If the installation process prompts that some libraries are not installed, continue to install these libraries as shown:
This continues the installation:
Some information will appear, indicating that the installation is successful. At this time, there will be an additional mail directory under the pear directory, and there will also be a mail.php, which is the file we will reference later.
Below is the code we use to send the email:
<? require_once 'Mail.php'; flush(); $conf['mail'] = array( 'host' => 'mail.nenu.edu.cn', //smtp服务器地址,可以用ip地址或者域名 'auth' => true, //true表示smtp服务器需要验证,false代码不需要 'username' => 'guanhf844', //用户名 'password' => '你的密码' //密码 ); $headers['From'] = 'guanhf844@nenu.edu.cn'; //发信地址 $headers['To'] = 'chf007server@163.com'; //收信地址 $headers['Subject'] = 'test mail send by php'; //邮件标题 $mail_object = &Mail::factory('smtp', $conf['mail']); $body = '<<< MSG hello world!!! MSG'; //邮件正文 $mail_res = $mail_object->send($headers['To'], $headers, $body); //发送 if( PEAR::isError($mail_res) ){ //检测错误 die($mail_res->getMessage()); } echo 'Send finished.'; ?>
After testing, it was successfully sent and the speed was quite fast. It was not tested on other mailboxes.
The above is all the code for using pear to implement the mail sending function in PHP. I hope it will be helpful to everyone's learning.