Vorrei creare una newsletter, quindi facendo inserire solo l'indirizzo e-mail dell'utente.
Il server è Aruba.
Come posso fare?
Ciao,
LARRY
Vorrei creare una newsletter, quindi facendo inserire solo l'indirizzo e-mail dell'utente.
Il server è Aruba.
Come posso fare?
Ciao,
LARRY
non ti sembra un po' poco per aprire un 3d?
Leggi i tutorial e se non riesci allora posta...![]()
Proprio perchè non ho trovato nulla ho postato.![]()
se vuoi creare una news letter, presumo in flash, devi prima crearla con un linguaggio lato server, io consiglio ASP, dopodichè passi i dati a flash, anche se nel tuo caso ti serve di passare l' indirizzo mail di chi ti vuole la news letter.
Comincia dall' asp , finito riposta in questo forum...
L'ho creato in PHP, ma sul server Aruba non mi manda l'e-mail.![]()
Come mai?
Questo è lo script per mandare l'e-mail quando ci si iscrive:
<?
if (!isset($email) || !isset($name) || empty($email) || empty($name)) {
fail("Devi scrivere il nome e l'e-mail!");
}
$email = strtolower($email);
switch($action) {
case "subscribe":
subscribe($name, $email);
break;
case "unsubscribe":
unsubscribe($email);
break;
default:
fail("Unknown action: $action");
}
function subscribe($name, $email) {
if (isSubscribed($email)) {
fail("$email sei gia' iscritto alla mailing list");
}
$joinDate = time();
$file = fopen('..//..//public//subscriber.dat', 'a+');
if (!$file) {
fail("Errore: non posso fare la sottoscrizione!");
}
fputs($file, "$name|$email|$joinDate\n");
fclose($file);
sendEmail($email, $name);
mailAdmin($email, $name);
success();
}
function unsubscribe($email) {
if (!isSubscribed($email)) {
fail("$email si e' cancellato dalla mailing list");
}
$subscribers = file('..//..//public//subscriber.dat');
if (!$subscribers) {
fail("Errore: non posso fare la sottoscrizione!");
}
foreach($subscribers as $count => $subscriber) {
$info = explode('|', $subscriber);
if($info[1] == $email) {
unset($subscribers[$count]);
}
}
$file = fopen('..//..//public//subscriber.dat', 'w');
if (!$file) {
fail("Non posso rimuovere la sottoscrizione!");
}
foreach($subscribers as $subscriber) {
fwrite($file, $subscriber);
}
fclose($file);
success();
}
function sendEmail($email, $name) {
$mailTo = "$name <$email>";
$mailFrom = "From: LarryWeb<larry@larryweb.it>\n\n";
$mailSubject = "Conferma di registrazione...";
$mailBody = "Ciao $name,\n\ni tuoi dati sono stati registrati nella mailing list di LarryWeb . Ogni novita' riguardante il sito ti sara' inviata a $email. Puoi anche controllare gli ultimi aggiornamenti collegandoti al sito http://www.larryweb.it\n\nGrazie!\n\nLarryWeb'";
mail($mailTo, $mailSubject, $mailBody, $mailFrom);
}
function mailAdmin($email, $name) {
$mailTo = "LarryWeb <larry@larryweb.it>";
$mailFrom = "From: LarryWeb<larry@larryweb.it>\n\n";
$mailSubject = "Nuovo Iscritto...";
$mailBody = "$name ($email) si e' iscritto";
mail($mailTo, $mailSubject, $mailBody, $mailFrom);
}
function isSubscribed($email) {
$matchFound = false;
$subscribers = file('..//..//public//subscriber.dat');
if ($subscribers) {
foreach($subscribers as $count => $subscriber) {
$info = explode('|', $subscriber);
if($info[1] == $email) {
$matchFound = true;
}
}
}
return $matchFound;
}
function isBanned($email) {
return false;
}
function fail($errorMsg) {
$errorMsg = urlencode($errorMsg);
print "&result=Fail&errorMsg=$errorMsg";
exit;
}
function success() {
print "&result=Okay";
exit;
}
?>
Questo è lo script per l'amministratore, per mandare le news:
<?
// Definisci il File dove andrai a scrivere
$subsFile = '..//..//public//subscriber.dat';
// Definisci admin username e password
$adminUsername = "larrygiu";
$adminPassword = "pwd";
// If supplied username/password do not match above
if ($inUsername != $adminUsername || $inPassword != $adminPassword) {
// Output error information and quit
print "Invalid username or password";
exit;
}
// Decide on what action we need to take
switch($action) {
// Fetch list of subscribers
case "List Subscribers":
fetchList();
break;
// Send email to subscribers
case "Send Email":
sendEmail($mailSubject, $mailBody);
break;
default:
print "Unknown action: $action";
exit;
}
function fetchList() {
// Register global variables
global $subsFile;
// Attempt to open subscriber file
$subscribers = file($subsFile);
if (!$subscribers) {
// Output error information and quit
print "Couldn't open subscriber file or no subscribers listed";
exit;
}
// For each subscriber line...
foreach($subscribers as $count => $subscriber) {
// split subscriber info into array
$info = explode('|', $subscriber);
// Assign array to meaningful variable name
$name = $info[0];
$email = $info[1];
$joined = $info[2];
// Create a readable joined date out of timestamp
$joined = strftime("%D", $joined);
// Output information for each subscriber
print "Subscriber $count
";
print "Name: $name
\n";
print "Email: $email
\n";
print "Joined: $joined
\n";
print "
\n";
}
}
function sendEmail ($mailSubject, $mailBody) {
// Register global variables
global $subsFile;
// Set up reply address for mailing list
$mailFrom = "News da LarryWeb...<larry@larryweb.it>";
// Ensure that subject and body of email have
// automatically inserted escape slashes removed
$mailSubject = stripslashes($mailSubject);
$mailBody = stripslashes($mailBody);
// Attempt to read subscriber file
$subscribers = file($subsFile);
// If file open failed...
if (!$subscribers) {
// Output error information and quit
print "Couldn't open subscriber file or no subscribers listed";
exit;
}
// For each subscriber line...
foreach($subscribers as $subscriber) {
// split subscriber info into array
$info = explode('|', $subscriber);
// Assign array to meaningful variable name
$name = $info[0];
$email = $info[1];
$joined = $info[2];
// Build to address including subscriber name
$mailTo = "$name <$email>";
// Send email to
mail($mailTo, $mailSubject, $mailBody, "From: " . $mailFrom);
}
print "E-mail inviata a tutti gli iscritti";
}
?>
Chi mi aiuta?
LARRY
non sarebbe una cosa piu intelligente postare sul forum di php?
Giusto per non aprire un altro post.
Tutto qui!
LARRY
ASP se mi scrivi in PHP non so proprio aiutarti...
Non avresti qualche script che mi può aiutare (anche in ASP)?
LARRY
Con VSEmail 2.0
[color=dark-blue]
<%
'Componente reperibile da: http://www.nevrona.com/indy
dim email
Set email=server.createObject("VSEmail.SMTPSendMailEx" )
email.host="smtp.mio_sito.it"
email.Recipients.Add("Destinatario","destinatario@ innovatel.it")
email.Sender.Name="Carratta Andrea"
email.Sender.Address="webmaster@innovatel.it"
email.ReplyTo.Name="Carratta Andrea"
email.ReplyTo.Address="webmaster@innovatel.it"
email.Body = "Testo della mail"
email.Connect
email.Send
email.Disconnect
set email = Nothing
%>
[/color]
Con EmailToolBox con cui inserisci anche gli allegati
<%
'Componente scaricabile da: http://www.arclab.com/products/emailtoolbox
set email=server.createObject("ArclabEmailToolBox.Mail er")
email.server="smtp.mio_sito.it"
email.From="webmaster@innovatel.it"
email.FromName="Carratta Andrea"
email.AddTo="destinatario@inovatel.it"
email.Subject="Titolo Mail"
email.TextBody="Testo in modalità testuale"
email.Send
if email.error=0 then
response.write "Invio Corretto."
else
response.write "Invio fallito."
end if
set email= Nothing
%>
Infine con aspEmail
<%
'Richiede l'installazione del componente aspEmail scaricabile da http://www.aspemail.com
set email = server.createObject("Persits.MailSender")
email.Host="smtp.propriositoweb.it"
email.From="mia_mail@propriositoweb.it"
email.FromName="proprio nome"
email.Subject="Titolo della mail"
email.Body="Il testo della mail"
email.AltBody="Testo alternativo al body"
email.IsHtml=false
email.Priority=1 ' 1 hight, 3 normal , 5 low
'Scegliere una o più delle 3 seguenti modalità di invio
email.AddAddress("webmaster@innovatel.it","Carratt a Andrea")
email.AddCC("webmaster@innovatel.it","Carratta Andrea")
email.AddBCC("webmaster@innovatel.it","Carratta Andrea")
'Invio della mail
email.send()
set email = nothing
%>
Guarda che i metodi sono tutti e tre funzionanti!!
Ciao e buon lavoro...![]()