Jeg har en SMS sender på min side, men den har et lillet problem som SKAL løses.
Problemet er at til nogle teleselskaber sender den fra adressen nobody@minhost.com og ikke fra min sms-email adresse som den skal. Hvordan kan man snyde Telia, Mobilix og Sononfon til at sende fra min adresse og ikke min host - som ikke vil modtage de svar som nogle folk sender.
nobody@minhost.com er bare et eksempel - selvfølgelig!
Via min TeleDK mobil, skriver den sms@friservice.dk som afsender. Nu har jeg ikke testet den på min Telia, da det tilsyneladende er det samme som du har.
Jeg vil gætte på at det måske er noget man kan ændre med rettighederne, owner eller group. Men jeg har ingen idé om hvad. Så hvis noget har et forslag som kan løse problemet, så sig endelig til.
Hvis der er nogen som bruger SMTP. Kan de så fortælle mig om det virker med SMTP, jeg kan have en lille anelse om at det måske kan løse problemet - da jeg i tidernes morgen var på en NT server og da jeg ved at STMP virker på en helt anden måde.
Hvis nogen har STMP på deres server, vil i så ikke godt være søde og teste det :o)
Jeg ved at det også fås til Linux - så må jeg bare have det, hvis det virker.
1. Tjek at dit domæne er rigtigt - du kan KUN sende emails fra dit domæne! 2. Tjek at formularen er rigtig dvs. <input type="text" name="til"> <input type="text" name="fra"> <input type="text" name="Emne"> 3. Så skal du have defineret "$body" eks. $body="Her er 'body' teksten";
if (!socket(S, $AF_INET, $SOCK_STREAM, $proto)) { return -2; } if (!connect(S, pack('Sna4x8', $AF_INET, $port, $smtpaddr))) { return -3; }
my($oldfh) = select(S); $| = 1; select($oldfh);
$_ = <S>; if (/^[45]/) { close S; return -4; }
print S "helo localhost\r\n"; $_ = <S>; if (/^[45]/) { close S; return -5; }
print S "mail from: $from\r\n"; $_ = <S>; if (/^[45]/) { close S; return -5; }
print S "rcpt to: $to\r\n"; $_ = <S>; if (/^[45]/) { close S; return -6; }
print S "data\r\n"; $_ = <S>; if (/^[45]/) { close S; return -5; }
print S "X-Mailer: BeadShoppe Enterprises Sendmail \r\n"; print S "Mime-Version: 1.0\r\n"; print S "Content-Type: text/plain; charset=us-ascii\r\n"; print S "To: $to\r\n"; print S "From: $from\r\n"; print S "Reply-to: $replyaddr\r\n" if $replyaddr; print S "Subject: $subject\r\n\r\n"; print S "$message"; print S "\r\n.\r\n";
more > Problemet ligger nemmelig i mail() koden - da den ikke er bestemt til nogen afsender adresse. Få mailen køres igennem serverens default email adresse - hvilket giver problemet.
Det gør man da sidst i mailen? FROM:sms@friservice.dk
Jeg har ikke fået testet scriptet - sorry. Jeg har ikke så meget tid, kan du ikke lave scriptet så det er klart til at lægge i en fil, og afprøve - så vil jeg gerne køre det på NT(inden 31/5 - da jeg fkytter til UNIX)
Jo, man skriver sidst i mailen at det er FROM: en@eller.anden - men af en eller anden grund. Så er det ikke den som går igennem som original-afsender. Afsenderen bliver af nogle mail-servere set som serverens default email adresse.
Jeg havde samme problem hos DHT (altså den med djarnis@dht.dk) hvilket er en email adresse tilhørende deres tekniske ansvarlige som efter sigende er godt træt af mails i stil med \"Hvem er du ??\".. men jeg kan oplyse at problemet opstår hvis man ikke bruger sin mail function ordentligt, i jeres FROM \"header\" skal i huske at tiløje en \\n (newline), da den ellers ikke vil blive opfattet som en FROM header.
$subject = \"SMS fra \".$afsender; $mailheaders = \"From: sms@suburban.dk\\n\"; $mail($nummer,$subject,$besked,$mailheaders); (reallife exempel der kører fra www.suburban.dk) dvs.
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.