Funcție PHP mail dezactivată
Sunt mai multe modalități prin care se poate trimite un email folosind PHP, două din cele mai populare metode este folosind funcția mail() sau SMTP. Funcția mail() face posibilă trimiterea email-urilor fără autentificare și se întâmplă foarte des ca o aplicație vulnerabilă să trimită spam folosind această funcție. Multe aplicății au fișiere care folosesc această funcție și deoarece nu necesită autentificare este folosită deseori de un atacator să trimită email-uri de tip spam.
SMTP necesită autentificare, folosind o adresă de email validă, existentă. Adresa de email, parola și alte informații de conectare sunt necesare a fi introduse în codul sursă atunci când se folosește această metodă.
Dacă folosești funcția mail() este foarte simplu să modifici modul de trimitere folosind SMTP, trebuie doar să modifici 5 linii de cod și să adaugi o adresă email/parola care (acestea trebuie să fie deja create in cPanel).
Uite câteva exemple despre cum să modifici câteva CMS-uri populare:
- Wordpress
- Jomla
În panoul de administrare, următoarea locație Global configuration --> Server --> Mail Settings -->
Mailer: SMTP
SMTP Port: 465
SMTP Authetication: Yes
SMTP Security: SSL
SMTP Username: adresa de email creată în cPanel
SMTP Password: parola aferentă contului de email
SMTP Host: exemplu.ro- Dezvoltatori software
<?php
include('Mail.php'); // modul PHP pear instalat pe server
$from = "info@mycompany.com";
$to = "myclient@clients.com";
$subject = "Test message";
$body= "This is a test message.";
$headers = array (
'From' => $from,
'To' => $to,
'Subject' => $subject
);
$smtp = Mail::factory(
'smtp',
array (
'host' =>'ssl://mycompany.com',
'auth' => true,
'username' => 'info@mycompany.com',
'password' => 'mypassword',
'port' => 465
)
);
$mail = $smtp->send($to, $headers, $body); // sending the email
if (PEAR::isError($mail)) {
echo("<p>" . $mail->getMessage() . "</p>");
} else {
echo("<p>Message successfully sent!</p>");
}
?>