Home>Article>CMS Tutorial> What to do if phpcms email fails to be sent

What to do if phpcms email fails to be sent

藏色散人
藏色散人 Original
2019-12-28 10:34:24 2552browse

What to do if phpcms email fails to be sent

What should I do if phpcms email fails to be sent?

The reason why phpcms email fails to be sent:

1: The best is to use the corporate email, (I don’t know why it fails when using the ordinary one)

2: If the local test succeeds but the test on the server fails, it may be that the server configuration disables the fsockopen function.

Use phpinfo to check whether the disable_functions item has fsockopen. If so, it means this is the problem.

Solution:

Open: phpcms\modules\member\classes\client.class.php,

Put the 78th line: if( !$fp = fsockopen($mail['server'], $mail['port'], $errno, $errstr, 30)) {

Change to: if(!$fp = pfsockopen($ mail['server'], $mail['port'], $errno, $errstr, 30)) {

That is, change fsockopen to pfsockopen.

PS: Some hosting providers disable the fsockopen function to prevent hackers from using fsockopen to conduct PHPDDOS attacks after exploiting program vulnerability injection.

The difference between the fsockopen function and the pfsockopen function is that pfsockopen remains keep-alive, making it impossible for hackers to carry out connection number attacks.

PHP Chinese website, a large number of freePHPCMS tutorials, welcome to learn online!

The above is the detailed content of What to do if phpcms email fails to be sent. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn