14. juli 2011 - 19:33Der er
29 kommentarer og 1 løsning
Send mails til mange på én gang.
Hej
Jeg har brug for et script, der kan håndtere at sende mails afsted til mange modtagere.
Hvordan gøres det bedst for at undgå at minimere sendetiden samt undgå at mailen ligner spam?
Modtagerne skal ikke kunne se de andre modtagere, men kun mig som afsender.
Desuden skal der være mulighed for at sende en html-mail for at kunne lave et pænere layout. har læst mig til, at man skal bruge noget i retning af MIME-Version: 1.0 for at kunne sende html-mails.
Jeg har ikke den store erfaring med php, derfor modtages script forslag meget gerne :) Håber I kan hjælpe!
Jeg ville klar bruge en mail klasse. F.eks. findes der: phpmailer og swiftmailer. Sidstnævnte har faktisk en funktion som hedder BacthSend, som netop sender samme email til flere brugere, uden alle brugere kan se hvem den ellers er sendt til. Ligeledes har den support for html og plain-text (kaldet multiparts)
Kan du evt. guide mig til en opsætning? har læst lidt under "Documentation" Men kan ikke rigtig se hvordan jeg skal integrere det på min side når jeg har uploaded mappen lib til serveren.?
//Create the Transport $transport = Swift_SmtpTransport::newInstance();
//Create the Mailer using your created Transport $mailer = Swift_Mailer::newInstance($transport);
//Create a message $message = Swift_Message::newInstance('Wonderful Subject') ->setFrom(array('fsvarre@gmail.com' => 'Frederik')) ->setBody('Here is the message itself');
Warning: stream_socket_client(): unable to connect to localhost:25 (Connection refused) in /home/user/www/lib/classes/Swift/Transport/StreamBuffer.php on line 271 Fatal error: Uncaught exception 'Swift_TransportException' with message 'Connection could not be established with host localhost [Connection refused #111]' in /home/user/www/lib/classes/Swift/Transport/StreamBuffer.php:273 Stack trace: #0 /home/user/www/lib/classes/Swift/Transport/StreamBuffer.php(66): Swift_Transport_StreamBuffer->_establishSocketConnection() #1 /home/user/www/lib/classes/Swift/Transport/AbstractSmtpTransport.php(116): Swift_Transport_StreamBuffer->initialize(Array) #2 /home/user/www/lib/classes/Swift/Mailer.php(79): Swift_Transport_AbstractSmtpTransport->start() #3 /home/user/www/index.php(28): Swift_Mailer->send(Object(Swift_Message), Array) #4 {main} thrown in /home/user/www/lib/classes/Swift/Transport/StreamBuffer.php on line 273
Men så vidt jeg kan se i scriptet, så ændrede vi jo den hvor det var smtp til $transport = Swift_MailTransport::newInstance(); istedet..?? så hvor skal det ændres?
Hvis ikke du angiver noget i newInstance(); SÅ bruger den den indbyggede mail() funktion i PHP. Hvis du angiver smtp, hvor du tidligere havde localhost, så kan du bruge en smtp-server.
Nu skal jeg lige have det helt på det rene... hvis den bruger mail() funktionen i PHP, er det så ikke nødvendigt med SMPT-oplysninger? Og i så fald, hvorfor bliver der så ikke sendt mails nu?
SMPT-indstillingerne, er det indstillingerne fra min udbyder, eller de lokale på min server?
Tja... Hvis du bruger "mail()" funktionen, så skal din php indstillinger klare smtp-opsætningen. Hvis du angiver en smtp direkte i din php kode / swiftmailer / $transport eller hvad den nu hed, så klare den det. Men du skal under alle omstændigheder have en fungerende smtp-server. Ellers kommer du ingen vegne.
har fået at vide, at jeg skal bruge smtp server: mailout.one.com og port 25.
Jeg får dog fejlen Fatal error: Class 'Swift_Transport_EsmtpTransport' not found in /customers/5/5/c/HJEMMESIDENAVN/httpd.www/test/lib/classes/Swift/SmtpTransport.php on line 19
Tror der har været en fejl ved upload til serveren, for da jeg uploadede samme kode virkede det bare :)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.