Skicka mail via Bredbandsbolaget?

PHPportalen Forum Index » PHP
Lägg ett bokmärke på hela tråden
Skapa nytt inlägg   Svara på inlägget
Visa föregående ämne :: Visa nästa ämne  
Startad av: Meddelande
Mirza



Medlem i: 5766 dagar

Status: Offline



#325868
Inlägg Skrivet: 2005-10-29 18:35      Ämne: Skicka mail via Bredbandsbolaget? Citera

Hej

Jag har ett litet problem, försöker få igång mailfunktionen så att jag kan skicka mail men jag stöter på problem, nämligen att det inte fungerar, mail retunerar inget felmeddelande, varken true eller false.

Använder mig av den kod som finns i wiki:n samt provat med andra varianter med samma resultat.

Har bredbandsbolagets inställningar i php.ini
[mail function]
; For Win32 only.
SMTP = smtp.bredband.net

; For Win32 only.
sendmail_from = xxxxx@bonetmail.com

Det konstiga är som sagt att den inte ger ifrån sig något fel, men inga mail skickas.

Vet inte om det gör någon skillnad men jag kör slackware 10.1 och kompilerade precis om med sendmail fast jag vill använda mig av bredbandsbolagets smtp server.

Något förslag på hur man kan lösa det?
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
EiKoN



Medlem i: 5441 dagar

Status: Offline



#325899
Inlägget är accepterad som det rätta svaret Skrivet: 2005-10-29 19:44      Ämne: Citera

PHP:
1:
 
2:
<?
3:
error_reporting(E_ALL);
4:
ini_set("display_errors","1");
5:
 
6:
$catre "vem ska mailet skickas till?";
7:
$subject "vad är mailets titel?";
8:
$message "vad som ska stå i mailet";
9:
$headers "";
10:
$from "vem mailet skickas ifrån";
11:
$body "none";
12:
 
13:
 
14:
function sock_mail($to,$subj,$body,$head,$from){ 
15:
       $lb="\r\n";                        //linebreak 
16:
       $body_lb="\r\n";                //body linebreak 
17:
       $loc_host "localhost";        //localhost 
18:
       $smtp_host="smtp.bredband.net";    //server SMTP 
19:
       $hdr explode($lb,$head);        //header 
20:
      
21:
       if($body) {$bdy preg_replace("/^\./","..",explode($body_lb,$body));} 
22:
           $smtp = array( 
23:
               // call the server and tell the name of your local host 
24:
               array("HELO ".$loc_host.$lb,"220,250","HELO error: ")); 
25:
       // envelop 
26:
       $smtp[] = array("MAIL FROM: <".$from.">".$lb,"250","MAIL FROM error: "); 
27:
       $smtp[] = array("RCPT TO: <".$to.">".$lb,"250","RCPT TO error: "); 
28:
       // begin data        
29:
       $smtp[] = array("DATA".$lb,"354","DATA error: "); 
30:
       // header 
31:
       $smtp[] = array("Subject: ".$subj.$lb,"",""); 
32:
       $smtp[] = array("To:".$to.$lb,"","");        
33:
       foreach($hdr as $h) {$smtp[] = array($h.$lb,"","");} 
34:
       // end header, begin the body 
35:
       $smtp[] = array($lb,"",""); 
36:
       if($bdy) {foreach($bdy as $b) {$smtp[] = array($b.$body_lb,"","");}} 
37:
       // end of message 
38:
       $smtp[] = array(".".$lb,"250","DATA(end)error: "); 
39:
       $smtp[] = array("QUIT".$lb,"221","QUIT error: "); 
40:
 
41:
       // open socket 
42:
       $fp = @fsockopen($smtp_host25); 
43:
       if (!$fp) echo "<b>Error:</b> Cannot conect to ".$smtp_host."<br>"
44:
      
45:
       $banner = @fgets($fp1024); 
46:
       // perform the SMTP dialog with all lines of the list 
47:
       foreach($smtp as $req){ 
48:
           $r $req[0]; 
49:
           // send request 
50:
           @fputs($fp$req[0]); 
51:
           // get available server messages and stop on errors 
52:
           if($req[1]){ 
53:
               while($result = @fgets($fp1024)){if(substr($result,3,1) == " ") { break; }}; 
54:
               if (!strstr($req[1],substr($result,0,3))) echo"$req[2].$result<br>"
55:
           
56:
       
57:
       $result = @fgets($fp1024); 
58:
       // close socket 
59:
       @fclose($fp); 
60:
       return 1
61:
   
62:
 
63:
sock_mail($catre,$subject,$message,$headers,$from); 
64:
?> 
65:
 
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Mirza



Medlem i: 5766 dagar

Status: Offline



#325914
Inlägg Skrivet: 2005-10-29 20:47      Ämne: Citera

tack så hemskt mycket, men det löser fortfarande inte mitt problem med att skicka med mail funktionen, dock så implementerar jag din lösning då det verkar lättare att prata smtp direkt med servern via php.
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
solomon



Medlem i: 5384 dagar
Från: Solen
Status: Offline



#326094
Inlägg Skrivet: 2005-10-30 16:52      Ämne: Citera

Lägg in smtp.bredband.net som SmartHost i /etc/mail/sendmail.cf så fungerar mail() som det är tänkt.. sålänge Sendmail är installerat då så klart.

Sen lite tyket måste jag säga följande..
[mail function]
;For Win32 only.
SMTP = smtp.bredband.net

For Win32 only bör ju betyda att det endast är för Win32 som denna inställningen gäller.
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Mirza



Medlem i: 5766 dagar

Status: Offline



#326152
Inlägg Skrivet: 2005-10-30 19:03      Ämne: Citera

solomon: Enligt vad jag läste på andra sidor så kunde man använda sig av SMTP = även i linux om man ville åsidosätta sendmail. Jag vill inte använda mig av sendmail för att skicka mail till endast en sida som är där pga att den tillhör ett skolarbete.

Men låt oss säga tt problemet är löst och att jag istället använder mig av smtp funktionen som finns ovan.
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
hallis



Medlem i: 5937 dagar
Från: Stockholm
Status: Offline



#326198
Inlägg Skrivet: 2005-10-30 20:40      Ämne: Citera

jag förstår inte riktigt ditt problem.. jag har en egen webserver på min bbb-uppkoppling, jag behöver inte skriva något speciellt när jag använder mail()
 

_________________
Utvecklingsbloggen
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
Mirza



Medlem i: 5766 dagar

Status: Offline



#326396
Inlägg Skrivet: 2005-10-31 15:14      Ämne: Citera

hallis skrev:
jag förstår inte riktigt ditt problem.. jag har en egen webserver på min bbb-uppkoppling, jag behöver inte skriva något speciellt när jag använder mail()


Jag har aldrig behövt använda mail tidigare, men den funktionen kärver för det första att sendmail finns på burken om det är nu Linux/Unix vi snackar om för att ens aktiveras i php. För det andra så ska man i php.ini kunna ange den smtp server som den ska använda sig av, vilket jag gör och det ska gå att skicka mail med mail men det fungerar helt enkelt inte hos mig, den kontaktar inte ens servern för då skulle den gett något felmeddelande hoppas jag. Det kanske är så att du kör på webservern på windows, dock har jag provat från windows också men det funkade inte.
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
solomon



Medlem i: 5384 dagar
Från: Solen
Status: Offline



#326489
Inlägg Skrivet: 2005-10-31 20:20      Ämne: Citera

Har man Sendmail så kan man kolla i /var/log/maillog om det finns någon info om vad som kan gått snett.
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Visa tidigare inlägg:   
Skapa nytt inlägg   Svara på inlägget
PHPportalen Forum Index » PHP
Hoppa till:  
Du kan inte skapa nya inlägg i det här forumet
Du kan inte svara på inlägg i det här forumet
Du kan inte ändra dina inlägg i det här forumet
Du kan inte ta bort dina inlägg i det här forumet
Du kan inte rösta i det här forumet
Du kan inte bifoga filer i detta forum
Du kan inte ladda ner filer från detta forum
Kontakta oss på adressen: info@phpportalen.net
Webbplatsen bygger i grunden på phpBB © 2001, 2002 phpBB Group

Modifieringar har senare gjorts i systemet av PHPportalen
Sid och logotypdesign skapad av Daren Jularic