Mij email zenden als bestand gedownload is.
Is het mogelijk dat ik een email van mijn website krijg als er een bestand gedownload is?
Ja, dat kan. Kijk eens naar de mail()-functie van PHP.
Ik heb gekeken naar jouw advies, de mail-functie.
Ik heb geprobeerd met een klein scriptje dat te testen op mijn laptop met XAMPP maar er gebeurde helemaal niets.
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
// The message
$message = "Bestand van download is verwijderd";
// Send
mail('mijnemailadres@*******.nl', 'My Subject', $message);
?>
// The message
$message = "Bestand van download is verwijderd";
// Send
mail('mijnemailadres@*******.nl', 'My Subject', $message);
?>
kun je mij miscchien verder helpen?
Kijk ook met een if-statement of mail true of false is.
Check ook of je in php.ini een SMTPserver hebt ingevuld, want je moet je mails wel ergens kunnen afleveren.
Gewijzigd op 18/11/2013 21:06:45 door - Ariën -
[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 25
; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = [email protected]
Vraag: http://php.net/smtp-port , moet hier niet het adres van mijn website ingevuld worden?
of iets anders?
Vraag: sendmail_from = [email protected] , is niet een juist emailadres van mijzelf of van mijn website.
wat zou er dan in de plaats voor moeten komen?
Draai jij op die laptop een mailserver?
Zo nee, dan moet je hier de mailserver van je adsl-aanbieder invullen.
Vergeet apache/xampp daarna niet te herstarten!
Gewijzigd op 18/11/2013 21:23:52 door - Ariën -
De opmerking "Draai je een eigen mailserver?" doet mij ven schrikken. De aan jullie opgegeven instellingen
van mijn php.ini file had ik ergens gekopieerd en er vervolgens ingezet. Ik proef echter uit jullie opmerking dat dit ongebruikelijk is. Ja, ik heb XAMPP op mijn laptop staan en die wordt door geactiveerd zodra ik een script wil testen. Is dat niet goed? Ik raak in verwarring m.b.t. tot die ini file.
Zelf heb ik een emailaccount bij UPC, hoe verwerk ik dat in de ini file? En hoe zit het met
semdmail_from ? vragen, vragen, vragen.
Waarom heb je het over UPC? Woon je nou in Nederland of in België?
Hier de gevonden mailservers (SMTP) van beide providers. Geen idee welke bij jouw van toepassing is.
UPC: smtp.upcmail.nl
SkyNet: relay.skynet.be
Als je jouw php.ini aangepast hebt, en je Apache/XAMPP herstart hebt, dan kan je met deze code kijken of ingevulde SMTP-servernaam klopt:
Gewijzigd op 18/11/2013 22:03:22 door - Ariën -
Als je smtp gebruikt bij phpmailer dan kan het werken zonder dat je je ini hoeft in te duiken.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php
require_once('../class.phpmailer.php');
$mail = new PHPMailer();
$body = '<h1>hallo</h1>';
$mail->IsSMTP(); // telling the class to use SMTP
$mail->Host = "mail.yourdomain.com"; // SMTP server
$mail->SMTPDebug = 2; // enables SMTP debug information (for testing)
// 1 = errors and messages
// 2 = messages only
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->Host = "mail.yourdomain.com"; // sets the SMTP server
$mail->Port = 26; // set the SMTP port for the GMAIL server
$mail->Username = "yourname@yourdomain"; // SMTP account username
$mail->Password = "yourpassword"; // SMTP account password
$mail->SetFrom('[email protected]', 'First Last');
$mail->Subject = "PHPMailer Test Subject via smtp, basic with authentication";
$mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test
$mail->MsgHTML($body);
$address = "[email protected]";
$mail->AddAddress($address, "John Doe");
if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!";
}
require_once('../class.phpmailer.php');
$mail = new PHPMailer();
$body = '<h1>hallo</h1>';
$mail->IsSMTP(); // telling the class to use SMTP
$mail->Host = "mail.yourdomain.com"; // SMTP server
$mail->SMTPDebug = 2; // enables SMTP debug information (for testing)
// 1 = errors and messages
// 2 = messages only
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->Host = "mail.yourdomain.com"; // sets the SMTP server
$mail->Port = 26; // set the SMTP port for the GMAIL server
$mail->Username = "yourname@yourdomain"; // SMTP account username
$mail->Password = "yourpassword"; // SMTP account password
$mail->SetFrom('[email protected]', 'First Last');
$mail->Subject = "PHPMailer Test Subject via smtp, basic with authentication";
$mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test
$mail->MsgHTML($body);
$address = "[email protected]";
$mail->AddAddress($address, "John Doe");
if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!";
}
Gewijzigd op 18/11/2013 22:05:37 door Frank Nietbelangrijk
Code (php)
1
2
3
4
2
3
4
<?php
ini_set("SMTP","smtp.example.com" );
ini_set('sendmail_from', '[email protected]');
?>
ini_set("SMTP","smtp.example.com" );
ini_set('sendmail_from', '[email protected]');
?>
Dan kan je gewoon mail() gebruiken. phpMailer is ook wel tof, maar is voor beginners nog wel eens lastiger te begrijpen. Wel zit daar duidelijke debugging in wat wel helpt....
Ik blijf het vrij jammer vinden dat mail() in PHP vrij summier is, en dat er zelfs SMTP-autentication ontbreekt.
Gewijzigd op 18/11/2013 22:07:00 door - Ariën -
Gewijzigd op 18/11/2013 22:24:41 door Frank Nietbelangrijk
Gebruik dan wel poort 25 i.p.v. 26.
Ik heb mijn XAMP opnieuw gestart daarop stond ports 80,443 bij Apache. Zoals eerder beschreven inzake de ini file staat er"smtp_port =25". Ik heb mij ini file veranderd in:
[mail function]
; For Win32 only.
; http://localhost/smtp
SMTP = upcmail.nl
; http://localhost/smtp-port
smtp_port = 25
; For Win32 only.
; http://localhost/sendmail-from
sendmail_from = [email protected]
Gaat dit goed oder nicht?
Zoals je ziet ik ben van alle markten thuis, ik ben Nederlander met een nederlands emailadres en nederlandse serviceprovider nl, UPC, kan een klein beetje duits en met mijn foute ini file woon ik niet in Belgie.
SMTP = smtp.upcmail.nl
En dan zou het moeten werken, even controleren met de eerder gegeven var_dump code.
Gewijzigd op 18/11/2013 23:20:02 door - Ariën -
Frank Nietbelangrijk op 18/11/2013 23:16:00:
volgens mij moet het zijn
SMTP = smtp.upcmail.nl
SMTP = smtp.upcmail.nl
Moet dat niet zijn:
SMTP = http://smtp.upcmail.nl
- SanThe - op 18/11/2013 23:58:40:
nee, zonder http://
Gewijzigd op 19/11/2013 00:18:52 door - Ariën -
- Aar - op 19/11/2013 00:18:33:
Het is ook geen HTTP-request, maar een praatje met een SMTP-server.
Ach ja, natuurlijk.
Niet echt bij nagedacht.
Maargoed, zal ie snel achter komen als de mails niet aankomen...
Gewijzigd op 19/11/2013 01:05:29 door Jack Maessen