Salve,
Dato che qui su altervista non è possibile inviare mail tramite protocollo smtp, mi sono ideato questa semplice classe per l'invio di mail in formata html:
Codice PHP:
class MailSender {
private $headers = null;
private $body = null;
private $to = null;
private $subject = null;
public function __construct($to, $subject, $message) {
$this->to = $to;
$this->object = $subject;
$this->headers = "From: Sevenjeak.altervista.org <sevenjeake@gmail.com>\r\n";
$this->headers .= "Content-type: text/html; charset=iso-8859-1";
$this->headers .= "X-Mailer: PHP/" . phpversion();
$this->body = "OK";
$this->body = "<html>
<head>
<style>
header {
height:45px;
background:#f7f7f7;
border-bottom:solid 1px #bdbdbd;
box-shadow:0 0 7px #bdbdbd;
-moz-box-shadow:0 0 7px #bdbdbd;
-webkit-box-shadow:0 0 7px #bdbdbd;
-o-box-shadow:0 0 7px #bdbdbd;
}
header div {
float:left;
height:80px;
padding-left:90px;
cursor:pointer;
}
</style>
</head>
<body>
<header><img src=\"logo.png\" /></header>
<main>
" . $message . "
</main>
</body>
</html>";
}
public function send() {
return mail($this->to, $this->subject, $this->body, $this->headers);
}
}
?>
Utilizzando la classe, il tutto funziona, solamente che, se metto come destinatario dell'email un accout gmail, la mail non mi viene inviata ( penso che venga direttamente scartata dal provider ) o mi viene inviata nella cartella spam in semplice formato testo, invece provando ad inviare la mail ad un account libero la mail mi arriva, in posta in entrata e il formato html.
Come posso fare ad farmela ricevere cosi anche da gmail?
P.S.: ho provato anche aggiungendo il mime-time all'header ma niente, mi viene direttamente scartata.