Salve. Sto da qualche giorno studiando PHP su un testo un po ostico per un totale principiante...o almeno per me!!! Avrei bisogno che qualcuno mi spiegasse un passaggio all'interno di due script che nell'insieme servono per spedire una mail. Se questa sezione non è pensata per questioni didattiche spostate o cancellate senza indugio.
Nel primo script è contenuta una classe, con i suoi metodi e proprietà (class.SimpleMail.php):
Codice PHP:
<?php
class SimpleMail
{
// class properties- parts of a message
private $toAddress;
private $CCAddress;
private $BCCAddress;
private $fromAddress;
private $subject;
private $sendText;
private $textBody;
private $sendHTML;
private $HTMLBody;
// initialize the message parts with blank or default values
public function __construct() {
$this->toAddress = '';
$this->CCAddress = '';
$this->BCCAddress = '';
$this->fromAddress = '';
$this->subject = '';
$this->sendText = true;
$this->textBody = '';
$this->sendHTML = false;
$this->HTMLBody = '';
}
// set TO address
public function setToAddress($value) {
$this->toAddress = $value;
}
// set CC address
public function setCCAddress($value) {
$this->CCAddress = $value;
}
// set BCC address
public function setBCCAddress($value) {
$this->BCCAddress = $value;
}
// set FROM address
public function setFromAddress($value) {
$this->fromAddress = $value;
}
// set message subject
public function setSubject($value) {
$this->subject = $value;
}
// set whether to send email as text
public function setSendText($value) {
$this->sendText = $value;
}
// set text email message body
public function setTextBody($value) {
$this->sendText = true;
$this->textBody = $value;
}
// set whether to send email as HTML
public function setSendHTML($value) {
$this->sendHTML = $value;
}
// set text HTML message body
public function setHTMLBody($value) {
$this->sendHTML = true;
$this->HTMLBody = $value;
}
// send email
public function send($to = null, $subject = null, $message = null,
$headers = null) {
$success = false;
if (!is_null($to) && !is_null($subject) && !is_null($message)) {
$success = mail($to, $subject, $message, $headers);
return $success;
//.............
// .............
?>
Il secondo lo utilizza per la spedizione vera e propria (mail_text.php):
Codice PHP:
<?php
require 'class.SimpleMail.php';
$message = new SimpleMail();
$message->setToAddress('esempio@dominio.com');
$message->setSubject('Testing text email');
$message->setTextBody('This is a test using plain text email!');
if ($message->send()) {
echo 'Text email sent successfully!';
} else {
echo 'Sending of text email failed!';
}
?>
Ora, da quello che ho potuto capire da questi pochi giorni di studio la cosa funziona così:
Faccio partire mail_text.php. Le tre istanze $message della classe SimpleMail, tramite le relative funzioni in SimpleMail.php, scrivono i valori che passo (indirizzo, soggetto, testo) nelle variabili private (incapsulate) $toAddress, $subject e $sendText di SimpleMail.php. Fin qua ci sono arrivato!!!
Ora però, come $to, $subject e $message arrivano alla funzione send? Ovvero, come $toAddress, $subject e $sendText, dove sono scritti indirizzo, soggetto e testo, "diventano" $to, $subject e $message?
Spero di essere stato chiaro.
Grazie a tutti