Avatar billede jesperkh Nybegynder
21. december 2000 - 15:18 Der er 1 kommentar og
1 løsning

sms sender kan jeg ændre $mailprogram = \'/usr/sbin/sendmail\'; til $SMTP_SERVER=\"mail.gpserver.com\";

Jeg vil gerne bruge denne (nedenstående) sms sender på min webside (http://sogemaskiner.dk) men jeg ligger på en NTserv , så jeg skulle gerne have den ændret til at sende på $SMTP_SERVER=\"mail.gpserver.com\";

#!/usr/bin/perl

#######################################################################################
### SMS-sender fra http://webcafe.dk                                                ###
#######################################################################################

$mailprogram = \'/usr/sbin/sendmail\';
$baggrund = \"#ffffff\";

### Input bliver læst og delt
read(STDIN, $bufferdrengen, $ENV{\'CONTENT_LENGTH\'});
@data_par = split(/&/, $bufferdrengen);

### De enkelte dele deles op i navn/indhold
foreach $enkelt_par (@data_par) {
  ($navn, $indhold) = split(/=/, $enkelt_par);
 
  ### Indholdet bliver gjort fordøjeligt
  $indhold =~ tr/+/ /;
  $indhold =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(\"C\", hex($1))/eg;
  $indhold =~ s/\\cM\\n/\\n/g;

  ### Vi finder beskedens egentlige indhold, som hedder \'besked=blahblah\'
  if ($navn eq \'besked\') {
    $besked = $indhold;
    $laengde = length($indhold);
  }

  ### Og afsenderen som hedder \'afsender=blahblah\'
  elsif ($navn eq \'afsender\') {
    $afsender = $indhold;
  }

  ### Og modtageren som hedder \'modtager=blahblah\'
  elsif ($navn eq \'modtager\') {
    $modtager_nummer = $indhold;
  }
 
  else {}
 
}

############ Så skal vi have smækket den rigtige adresse på nummeret ###################

### TeleDanmark Mobil - numre
if(20100000<=$modtager_nummer && $modtager_nummer<=20599999 ||
  21100000<=$modtager_nummer && $modtager_nummer<=21999999 ||
  23100000<=$modtager_nummer && $modtager_nummer<=23999999 ||
  24100000<=$modtager_nummer && $modtager_nummer<=24999999 ||
  29100000<=$modtager_nummer && $modtager_nummer<= 29999999 ||
  40100000<=$modtager_nummer && $modtager_nummer<=40499999){
  $modtager = \"$modtager_nummer\\@sms.tdm.dk\";
  $selskab = \"Tele Danmark Mobil\";
  $max = \"600\";
 
  if($laengde>600){
    &for_lang;
  }
 
}

### Sonofon - numre
elsif(20600000<=$modtager_nummer && $modtager_nummer<=20999999 ||
  22100000<=$modtager_nummer && $modtager_nummer<=22999999 ||
  40500000<=$modtager_nummer && $modtager_nummer<=40999999){
  $modtager = \"$modtager_nummer\\@note.sonofon.dk\";
  $selskab = \"SonofonGodaften\";
  $max = \"800\";
 
  if($laengde>800){
    &for_lang;
  }
 
}

### Mobilix - numre
elsif(26100000<=$modtager_nummer && $modtager_nummer<=26999999){
$modtager = \"$modtager_nummer\\@sms.mobilix.dk\";
$selskab = \"Mobilix\";
$max = \"160\";

  if($laengde>160){
    &for_lang;
  }
 
}

### Telia - numre
elsif(28100000<=$modtager_nummer && $modtager_nummer<=28999999){
  $modtager = \"$modtager_nummer\\@gsm1800.telia.dk\";
  $selskab = \"Telia\";
  $max = \"160\";
 
  if($laengde>160){
    &for_lang;
  }

} else {
  $fejl=\"ja\";
  &fejl;
}



############ Så er input fordøjet, og vi skal til at sende beskeden ####################


open(MAIL, \"|$mailprogram -t\") || &fejl;
print MAIL \"From: $afsender\\n\";
print MAIL \"To: $modtager\\n\\n\";
print MAIL \"Sendt UDEN ANSVAR fra www.webcafe.dk: $besked\\n\";
close(MAIL);

print \"content-type:text/html\\n\\n\";
print \"<html><body bgcolor=\\\"$baggrund\\\">\\n\";
print \"Du har sendt SMS til: <b>$modtager_nummer</b><br><br>\\n\";
print \"<b>Denne besked er sendt: </b><br><br>$besked\\n\";
print \"</body></html>\";
exit;



###################### Fejl ved ikke GSM-numre samt fejl ved Sendmail ##################

sub fejl {

print \"Content-type:text/html\\n\\n\";
print \"<html><body bgcolor=\\\"$baggrund\\\">\\n\";

if($fejl){
  print \"Det valgte nummer $modtager_nummer er
        <b>ikke et GSM-nummer</b>, og kan derfor
        ikke modtage SMS-beskedder.<br><br><br>\\n\";
} else {
  print \"Fejl: <b>$!</b>\\n\";
}

print \"</body></html>\\n\";
exit;

} ### slut fejl

###################### Fejl ved for lange beskedder ####################################

sub for_lang {

print \"Content-type:text/html\\n\\n\";
print \"<html><body bgcolor=\\\"$baggrund\\\">\\n\";
print \"Du har pr\\&oslash\\;vet at sende SMS-besked til nummer $modtager_nummer.<br><br>\\n\";
print \"Vedkommende er <b>kunde hos $selskab</b>, og her kan beskedder kun sendes, hvis de <b>ikke
er l\\&aelig\\;ngere end $max tegn</b>.<br><br>\\n\";
print \"Din besked er $laengde tegn lang.<br><br>\\n\";
print \"<script language=\\\"JavaScript\\\" type=\\\"text/javascript\\\">
<!-- // Til de hel(d/l)ige med JavaScript
document.writeln(\'<a href=\\\"java script:parent.history.back()\\;\\\">Gå tilbage</a> og forkort beskeden.\')\\;
// -->
</script>
<noscript>
Tryk på \'back\'-knappen i din browser, for at forkorte beskeden.
</noscript>\\n\";
print \"</body></html>\";
exit;

} ### slut for_lang

håber der er nogen der kan hjælpe...
Avatar billede bragon Nybegynder
07. januar 2001 - 15:52 #1
Forudsat at jeg har forstået dit ? rigtigt..  Så er svaret nej.

Sendmail er et prg. der afleverer din mail/sms til modtager/relay-server.
mail.gpserver.com er den server du gerne vil relay\'e til. Det skal du under alle omstændigheder bruge et mail prg. til. (også på NT :)
Brug evt. din SMTP klient på NT til at aflevere al mailen til mail.gpserver.com
Avatar billede jesperkh Nybegynder
04. maj 2001 - 11:51 #2
ddd
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester