Hoi,
Heb net mijn router (draytek vigor 2200e, met DMZ aan) omgewisseld voor een edimax br6104k.
Dit omdat de draytek maar max 5-6 mbit aan kon.
Nu kan ik mijn website gewoon bereiken via het externe ip-adres, omdat ik de poortforwarding etc heb aangezet. Onderstaande poorten heb ik geforward:
Alleen het probleem nu is dat én het contact-formulier op de website én het forum phpbb niet meer kunnen connecten met de smtp-server.
Zelf met een poort-forwarding ipv virtual server werkt het niet:
Welke poort ben ik vergeten? ik dacht toch dat poort 25 moest worden gebruikt. http. ftp. ssh, webmin werken allemaal.
Dit is het mail-script:
Heb net mijn router (draytek vigor 2200e, met DMZ aan) omgewisseld voor een edimax br6104k.
Dit omdat de draytek maar max 5-6 mbit aan kon.
Nu kan ik mijn website gewoon bereiken via het externe ip-adres, omdat ik de poortforwarding etc heb aangezet. Onderstaande poorten heb ik geforward:
code:
1
2
3
4
5
6
7
8
| 1 192.168.2.100 80 TCP+UDP 80 server - http 2 192.168.2.100 20 TCP+UDP 20 server - ftp 3 192.168.2.100 21 TCP+UDP 21 server - ftp 4 192.168.2.100 22 TCP+UDP 22 server - ssh 5 192.168.2.100 25 TCP+UDP 25 server - mail 6 192.168.2.100 110 TCP+UDP 110 server - mail 7 192.168.2.100 10000 TCP+UDP 10000 server - webmin 8 192.168.2.100 1024 TCP+UDP 1924 server - mail |
Alleen het probleem nu is dat én het contact-formulier op de website én het forum phpbb niet meer kunnen connecten met de smtp-server.
Zelf met een poort-forwarding ipv virtual server werkt het niet:
code:
1
| 1 192.168.2.100 TCP+UDP 1-65535 webserver |
Welke poort ben ik vergeten? ik dacht toch dat poort 25 moest worden gebruikt. http. ftp. ssh, webmin werken allemaal.
Dit is het mail-script:
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
| function sock_mail($auth,$to, $subj, $body, $head, $from){ $lb="\r\n"; //linebreak $body_lb="\r\n"; //body linebreak $loc_host = "localhost"; //localhost $smtp_acc = "info@xxxxxxxx.nl"; //account $smtp_pass="xxxxxxxxxxx"; //password $smtp_host="mail.xxxxxxxxxx.nl"; //server SMTP $hdr = explode($lb,$head); //header if($body) {$bdy = preg_replace("/^\./","..",explode($body_lb,$body));} // build the array for the SMTP dialog. Line content is array(command, success code, additonal error message) if($auth == 1){// SMTP authentication methode AUTH LOGIN, use extended HELO "EHLO" $smtp = array( // call the server and tell the name of your local host array("EHLO ".$loc_host.$lb,"220,250","HELO error: "), // request to auth array("AUTH LOGIN".$lb,"334","AUTH error:"), // username array(base64_encode($smtp_acc).$lb,"334","AUTHENTIFICATION error : "), // password array(base64_encode($smtp_pass).$lb,"235","AUTHENTIFICATION error : ")); } else {// no authentication, use standard HELO $smtp = array( // call the server and tell the name of your local host array("HELO ".$loc_host.$lb,"220,250","HELO error: ")); } // envelop $smtp[] = array("MAIL FROM: <".$from.">".$lb,"250","MAIL FROM error: "); $smtp[] = array("RCPT TO: <".$to.">".$lb,"250","RCPT TO error: "); // begin data $smtp[] = array("DATA".$lb,"354","DATA error: "); // header $smtp[] = array("Subject: ".$subj.$lb,"",""); $smtp[] = array("To:".$to.$lb,"",""); foreach($hdr as $h) {$smtp[] = array($h.$lb,"","");} // end header, begin the body $smtp[] = array($lb,"",""); if($bdy) {foreach($bdy as $b) {$smtp[] = array($b.$body_lb,"","");}} // end of message $smtp[] = array(".".$lb,"250","DATA(end)error: "); $smtp[] = array("QUIT".$lb,"221","QUIT error: "); // open socket $fp = @fsockopen($smtp_host, 25); if (!$fp) echo "<b>Error:</b> Cannot conect to ".$smtp_host."<br>"; $banner = @fgets($fp, 1024); // perform the SMTP dialog with all lines of the list foreach($smtp as $req){ $r = $req[0]; // send request @fputs($fp, $req[0]); // get available server messages and stop on errors if($req[1]){ while($result = @fgets($fp, 1024)){if(substr($result,3,1) == " ") { break; }}; if (!strstr($req[1],substr($result,0,3))) echo"$req[2].$result<br>"; } } $result = @fgets($fp, 1024); // close socket @fclose($fp); return 1; } |
[ Voor 58% gewijzigd door Verwijderd op 11-09-2006 16:19 ]