SMTP server noodzakelijk voor versturen bericht?
Moet je voor het versturen van berichten/nieuwsbrieven (uit een php script) de SMTP server aanspreken?
Of is er een mogelijkheid deze te passeren en rechtstreeks naar de betreffende te zenden...
Harry
mail van php. SMTP rechtstreeks aanspreken is daarvoor niet nodig. Mail van php doet dat allemaal voor jou. Of een van de bestaande libs natuurlijk die mail gebruiken (swift of phpmailer ofzo).
Gebruik Gewijzigd op 15/12/2010 17:23:33 door Jens V
Je kunt zonder SMTP server geen mails versturen?
Jens V op 15/12/2010 16:55:33:
Gebruik mail van php. SMTP is daarvoor niet nodig. Of een van de bestaande libs natuurlijk die mail gebruiken (swift of phpmailer ofzo).
Nee.
Er komt een postduif en die brengt het bericht over zeker?
Wat een nonsens weer. Natuurlijk gebruik mail ook SMTP. DAT STAAT ZELFS IN DE DOCS!
@Karl
Denk dat Jens meer doelde op het feit dat je met de mail functie geen specifieke zaken als gebuikersnaam, wachtwoord etc. mee hoeft te sturen.
En wat betreft die postduif: ik dacht misschien aan een mogelijkheid direct de pop3 server aan te kunnen spreken en bezorgen... maar helaas dus...
Hier kun je je gegevens gemakkelijk invoeren. De juiste manier om het te gebruiken staat wel bij de documentatie van swift-mailer.
Overigens, standaard waardes voor SMTP weet je wel? host, port, username, password.
Default waardes voor host en port zijn resp. localhost, 25.
Gebruikersnaam en wachtwoord zijn dan niet per se nodig omdat je van de localhost werkt.
Merijn Venema op 15/12/2010 19:22:21:
Onzin, voor het versturen van mail gebruik je de mail() functie van php en is het niet nodig om smtp, username of password op te voeren. Bij je hoster praat de php mail functie met de sendmail deamon van de server of van een server. Uiteraard kan je libraries/classes gebruiken waarbij je dat wel in moet vullen maar het is in principe niet nodig.Nee je zult wel de juiste SMTP gegevens in moeten voeren. Het is ook veiliger een simpele library er bij te pakken zoals Swift Mailer.
Hier kun je je gegevens gemakkelijk invoeren. De juiste manier om het te gebruiken staat wel bij de documentatie van swift-mailer.
Overigens, standaard waardes voor SMTP weet je wel? host, port, username, password.
Default waardes voor host en port zijn resp. localhost, 25.
Gebruikersnaam en wachtwoord zijn dan niet per se nodig omdat je van de localhost werkt.
Hier kun je je gegevens gemakkelijk invoeren. De juiste manier om het te gebruiken staat wel bij de documentatie van swift-mailer.
Overigens, standaard waardes voor SMTP weet je wel? host, port, username, password.
Default waardes voor host en port zijn resp. localhost, 25.
Gebruikersnaam en wachtwoord zijn dan niet per se nodig omdat je van de localhost werkt.
Aad B op 15/12/2010 19:54:27:
Merijn Venema op 15/12/2010 19:22:21:
Onzin, voor het versturen van mail gebruik je de mail() functie van php en is het niet nodig om smtp, username of password op te voeren. Bij je hoster praat de php mail functie met de sendmail deamon van de server of van een server. Uiteraard kan je libraries/classes gebruiken waarbij je dat wel in moet vullen maar het is in principe niet nodig.Nee je zult wel de juiste SMTP gegevens in moeten voeren. Het is ook veiliger een simpele library er bij te pakken zoals Swift Mailer.
Hier kun je je gegevens gemakkelijk invoeren. De juiste manier om het te gebruiken staat wel bij de documentatie van swift-mailer.
Overigens, standaard waardes voor SMTP weet je wel? host, port, username, password.
Default waardes voor host en port zijn resp. localhost, 25.
Gebruikersnaam en wachtwoord zijn dan niet per se nodig omdat je van de localhost werkt.
Hier kun je je gegevens gemakkelijk invoeren. De juiste manier om het te gebruiken staat wel bij de documentatie van swift-mailer.
Overigens, standaard waardes voor SMTP weet je wel? host, port, username, password.
Default waardes voor host en port zijn resp. localhost, 25.
Gebruikersnaam en wachtwoord zijn dan niet per se nodig omdat je van de localhost werkt.
Dit is incorrect. Op Windows zal er altijd smtp gegevens ingevuld moeten zijn: mail.configuration. Jammer genoeg zijn er altijd hosters die de standaard php.ini instellingen niet goed hebben staan.
Verder is het ook zo dat als je van een andere smtp server, of als een bepaalde mail user wilt mailen dat, dat niet kan of niet goed gaat. En natuurlijk moet sendmail ook goed geconfigureerd zijn.
Sowieso is php's mail functie een van de slechtste functies in gebruik. Daarom wordt overal je aangeraden om iets als swiftmailer te gebruiken. Makkelijker, handiger en beter in gebruik.
Er is maar 1 belangrijke mail instelling in php.ini: sendmail_path = /usr/sbin
/sendmail -t -i (=default en werkt vrijwel altijd)
Dat hebben de hosters altijd goed staan, heb nog geen hoster meegemaakt die dat niet had. Windows? Je gaat toch niet beweren dat er hosters zijn die windows als OS gebruiken? De PHP mail functie werkt prima, is niet het slechtste in gebruik. Misschien wel het moeilijkste, er worden door ondeskundigheid veel fouten mee gemaakt en dan kan je je behelpen met swiftmailer of phpmailer maar bijvoorbeeld met de config tips van Santhe's wiki is de php mailfunctie goed te gebruiken!!
Als je dit van te voren weet, dan ga je iemand toch een goede lib aanbieden zoals Swift Mailer? Hier kun je namelijk niet alleen vanaf je eigen server ( en daarmee SMTP server) berichten versturen, maar ook de deamons gebruiken van andere mail servers.
Maar zoals ik zelf ook al aangegeven heb zijn de standaard instellingen voor SMTP dus localhost met port 25. Als deze goed ingesteld staan, dan hoef je inderdaad niets op tegeven in mail() en kun je gewoon mail() gebruiken voor het versturen van mail.
@Merijn, kennelijk heb ik de derde alinea over username/password 15/12/2010 19:22:21 niet goed gelezen.
Merijn Venema op 15/12/2010 19:22:21:
Nee je zult wel de juiste SMTP gegevens in moeten voeren. Het is ook veiliger een simpele library er bij te pakken zoals Swift Mailer.
Hier kun je je gegevens gemakkelijk invoeren. De juiste manier om het te gebruiken staat wel bij de documentatie van swift-mailer.
Overigens, standaard waardes voor SMTP weet je wel? host, port, username, password.
Default waardes voor host en port zijn resp. localhost, 25.
Gebruikersnaam en wachtwoord zijn dan niet per se nodig omdat je van de localhost werkt.
Hier kun je je gegevens gemakkelijk invoeren. De juiste manier om het te gebruiken staat wel bij de documentatie van swift-mailer.
Overigens, standaard waardes voor SMTP weet je wel? host, port, username, password.
Default waardes voor host en port zijn resp. localhost, 25.
Gebruikersnaam en wachtwoord zijn dan niet per se nodig omdat je van de localhost werkt.
Ja, de rest van de gegevens zijn mij bekend.
Het is voor school, we maken een applicatie met PEAR/MIME welke uit de eigen database adressen haalt en een bericht naar de leerlingen kan versturen.
Het is de bedoeling dat het via de website gaat, vandaar mijn vraag omtrent het passeren van de SMTP server... niet persé nodig maar leek ons tijd besparend.
Uiteraard de bovenstaande discussie gelezen te hebben, gaan we ook eens verdiepen in de lib van SwiftMailer. Dank voor de tip!
Gewijzigd op 16/12/2010 09:54:10 door Harry Hartman
Het is dus mogelijk een SMTP script voor je website te gebruiken zodat je mail(ing) niet meer via de SMTP server (met al z'n beperkingen) van je hoster hoeft.
PHP Outgoing SMTP Server PHP Outgoing SMTP Server is an alternative to using an actuall SMTP server on your system for out going mail.
Publisher review:
PHP Outgoing SMTP Server is an alternative to using an actuall SMTP server on your system for out going mail. POSS is an alternative to using an actuall SMTP server on your system for out going mail. It is designed with use on websites in mind. It is a PHP script which directly contacts the recieving SMTP server and transmits the message data.
...
Operating system:
Windows / Linux / Mac OS / BSD / Solaris
Kijk hier voor details!
Harry
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
// Include email class and email() function
require_once('email.php');
// Create new instance of email
$email = new Email();
$email->addRecipient('[email protected]');
$email->setSubject($_POST['subject']);
$email->addHeader('From', $_POST['from']);
$email->setMessage($_POST['message']);
$email->send();
?>
// Include email class and email() function
require_once('email.php');
// Create new instance of email
$email = new Email();
$email->addRecipient('[email protected]');
$email->setSubject($_POST['subject']);
$email->addHeader('From', $_POST['from']);
$email->setMessage($_POST['message']);
$email->send();
?>
John D op 17/12/2010 12:46:09:
In $_POST['from'] stopt een spammer zomaar honderden email adressen.
Inderdaad lek.
En in de from hoort het afzender van de versturende site.
John D op 17/12/2010 12:46:09:
Een van de vele, inmiddels al meer dan een jaar niet ge-update en het voorbeeld dat men geeft is harstikke e-mail injection lek:
...
In $_POST['from'] stopt een spammer zomaar honderden email adressen.
...
In $_POST['from'] stopt een spammer zomaar honderden email adressen.
Dat is helemaal waar als je het script zomaar op de server zet maar aangezien ik het binnen de inlog zone plaats lijkt het mij minder lek.
Buiten dat wil ik dit als basis gebruiken en er eens flink in sleutelen door o.a. dit soort $_POST argumenten te veranderen.
Harry Hartman op 17/12/2010 13:27:21:
maar aangezien ik het binnen de inlog zone plaats lijkt het mij minder lek.
Waar je het zet maakt niet uit, het blijft even lek.
Jij hebt het idee dat je de ingelogde bezoekers kan vertrouwen. Ook daarin kun je je behoorlijk vergissen, want spammers kom je overal tegen.
http://phpwiki.santhe.nl/index.php/De_juiste_mailheaders
Inderdaad Swiftmailer of PHPMailer als je niet om kan gaan met mail() en Gewijzigd op 17/12/2010 14:37:06 door Aad B
Aad B op 17/12/2010 14:35:54:
Inderdaad Swiftmailer of PHPMailer als je niet om kan gaan met mail() en http://phpwiki.santhe.nl/index.php/De_juiste_mailheaders
Waarom zouden we daarmee niet om kunnen gaan??? Vreemde reactie!
Omdat veel phpers mail() niet juist gebruiken (onderandere de headers) en dan komt hij bij de spam