Avatar billede fusentasten Nybegynder
01. december 2004 - 12:30 Der er 12 kommentarer og
1 løsning

Postkort modul skal sende mails som bcc

Hej Eksperter

Jeg har et postkort modul, hvor jeg skal udsende mine postkort til flere modtagere af gangen. Jeg vil derfor gerne have det til at sende kortene som bcc.

Jeg mener, det er i denne her stump kode, der skal ændres. Har jeg ret?

## Create a mail message and send it to the recipient
mail($recipient, "$name " . $lang['pcm_sender_sent'] . "!", "",
"From: \"$name\" <$email>
Reply-To: \"$name\" <$email>
X-Accept-Language: en-us, en
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary=\"------------020901080506000807040501\"
Status: 
...

Kan nogen hjælpe mig?
Avatar billede kammeyer Nybegynder
01. december 2004 - 13:08 #1
BCC: person@domain.tld

Men husk at der skal være en Til - så send den evt til en dummy adresse hos dig selv.
Avatar billede fusentasten Nybegynder
01. december 2004 - 13:11 #2
Hvordan skal ovenstående kode så udformes?
Avatar billede haren Nybegynder
01. december 2004 - 15:01 #3
Som en header eks. (scriptet er ikke testet)

<?php
mail("", "Emne", "Besked", "BCC: person@domain.tld");
?>
Avatar billede fusentasten Nybegynder
01. december 2004 - 15:07 #4
Hej Haren:
Øhh. JEg tror ikke jeg har formuleret mig helt klart så. Jeg vil ikke have tilsendt en bcc kopi af alle julekortnene, der sendes. Jeg vil sende julekortene til mange af gangen og skjule de andre modtagere for hinanden. Men din løsning tilføjer bare en bcc modtager (har jeg ikke ret i det)
Avatar billede haren Nybegynder
01. december 2004 - 15:11 #5
Ja - jeg fattede det nok desværre ikke helt.

Mon ikke de kan gøres med while løkke ?
Har du adresserne i et array - eller en database?

(Er jeg gal på den endnu en gang?)
Avatar billede haren Nybegynder
01. december 2004 - 15:19 #6
Jeg er nok stadig ikke 100% med, skriver du dem selv ind i et script ?
Er de fra en database?

Hvis det bare er flere modtagere?
<?php
mail("", "Emne", "Besked", "BCC: modtager1@domæne.dk, modtager2@domæne.dk, modtager3@domæne.dk,");
// osv
?>

(Jeg lyder nok lidt forvirret - men det er jeg også..)
Avatar billede fusentasten Nybegynder
01. december 2004 - 15:21 #7
Hej igen,

nej, de hentes fra et inputfelt. Her er hele koden...:
<?php

#################################################################
##
##    PopPhoto 3.2
##    Copyright 2002 - 2004 Jamie Longstaff
##
##    Script author:        Jamie Longstaff
##    Script version:        3.2   
##
#################################################################

#################################################################
##
##  Takes an array and moves the value of the key specified by $item_val
##  either up or down through the array depending on the value of $item_act

function pops_array_shift_key($pri_array,$item_val,$item_act) {

    $item_key = array_search($item_val,$pri_array);
   
    if ($item_act == "u" && ($item_key+1 <= count($pri_array))) {
   
        $repl_key = $item_key + 1;
        $repl_val = $pri_array[$repl_key];
       
        array_splice($pri_array,$repl_key,1,$item_val);
        array_splice($pri_array,$item_key,1,$repl_val);
   
    } elseif ($item_act == "d" && ($item_key-1 >= 0)) {
   
        $repl_key = $item_key - 1;
        $repl_val = $pri_array[$repl_key];
       
        array_splice($pri_array,$repl_key,1,$item_val);
        array_splice($pri_array,$item_key,1,$repl_val);
   
    }
   
    return($pri_array);

}

##
##
#################################################################
##
##  Convert a numeric decimal string into a two sig fig decimal string
##    e.g. 120.0 -> 120.00

function pops_sig_fig($var) {

    $var = round($var,2);
   
    list ($base,$decimal) = split('[/.-]', $var);
   
    $newvar = $base . "." . str_pad($decimal, 2, "0", STR_PAD_RIGHT);
   
    return($newvar);

}

##
##
#################################################################
##
##  Take a sentence or group of words and trim to a certain word length with closing ellipis (...)
##
##    $string (string) The string to truncate
##    $length (int) The number of words to include

function pops_trim_words($string,$length) {

    $words = explode(" ",$string);
   
    if (count($words) >= $length) {
   
        $trimmed = "";
               
        for ($i = 0; $i < $length; $i++) {
       
        $trimmed .= $words[$i]." ";
       
        }
       
        $trimmed = rtrim($trimmed," \t\n\r.,()!;:?'-");
       
        $trimmed .= "...";
       
        return($trimmed);
   
    } else {
   
        return($string);
   
    }
}

##
##
#################################################################
##
##  mixed pops_trim_ellipsis([[string string], [int length]])
##
##  Returns the input variable string trimmed to length and with a trailing ellipsis
##    if the string length is greater than the input length value
##

function pops_trim_ellipsis($string,$length) {

    if (strlen($string) >= $length) {
    $string = substr($string,0,$length) . "...";
    }
   
    return $string;

}

##
##
#################################################################
##
##  Function to send an e-mail to a user

function pops_sendemail($toemail, $toname, $message, $fromemail, $fromname, $subject) {

    global $cfg;
    if (!ereg(".loc",$_SERVER['SERVER_NAME'])) {
   
        if ($toname !== '') {
       
        $to = "\"".$toname."\" <".$toemail.">";
       
        } else {
       
        $to = "<".$toemail.">";
       
        }
   
        $replyto = "<".$fromemail.">";
   
        if ($fromname !== '') {
       
        $headers = "From: \"".$fromname."\" <".$fromemail.">\r\n";
       
        } else {
       
        $headers = "From: $fromemail\r\n";
       
        }
   
        $subject = stripslashes($subject);
   
        $message = stripslashes($message);
   
        $headers .= "X-Mailer: PHP/" . phpversion() . "\r\n";
   
        $headers .= "MIME-Version: 1.0\r\n";
   
        $headers .= "Reply-To: $replyto\r\n";
   
        if (!@mail($to, $subject, $message, $headers, "-f $fromemail")) {
       
            return(FALSE);
       
        } else {
       
            return(TRUE);
       
        }
       
    }
   
}

##
##
#################################################################
##
##  Input two variables (Windows or MacOS) and return one depending on user platform.

function pops_platform_swap($winvalue,$macvalue) {
   
        if ($_SERVER['$TRANSFER_AGENT']) {
        $agent = $_SERVER['$TRANSFER_AGENT'];
        } else {
        $agent = $_SERVER['HTTP_USER_AGENT'];
        }
       
    $Browser_Name = strtok($agent, "/"); 
    $Browser_Version = strtok("  "); 

    if (ereg("MSIE", $agent)) { 
        $Browser_Name = "MSIE"; 
        $Browser_Version = strtok("MSIE"); 
        $Browser_Version = strtok("  "); 
        $Browser_Version = strtok(";"); 
    } 

    $Browser_Platform = "unknown"; 
    if (ereg("Win", $agent)) { 
        $Browser_Platform = "Windows";
        return $winvalue;
    } else {
        if (ereg("Mac", $agent)) { 
            $Browser_Platform = "Macintosh";
            return $macvalue;
        } else {
            return $winvalue;
        }
    } 
}


##
##
#################################################################
##
##  Detects if the browser is IE and returns $expvalue if it is.

function pops_browser_swap($expvalue,$othvalue) {

        if ($_SERVER['$TRANSFER_AGENT']) {
        $agent = $_SERVER['$TRANSFER_AGENT'];
        } else {
        $agent = $_SERVER['HTTP_USER_AGENT'];
        }

    if (ereg("MSIE", $agent)) { 
        return $expvalue;
    } else {
        return $othvalue;
    }
}

##
##
#################################################################

?>
Avatar billede fusentasten Nybegynder
01. december 2004 - 15:22 #8
jeg skal bare have lavet scriptet om, så det sender modtagerne som "bcc" og ikke som "to"

Evt. med en "no_replay@domæne.dk" som synlig modtager på dem alle sammen
Avatar billede haren Nybegynder
01. december 2004 - 15:48 #9
Mon ikke dette virker?

<?php

#################################################################
##
##    PopPhoto 3.2
##    Copyright 2002 - 2004 Jamie Longstaff
##
##    Script author:        Jamie Longstaff
##    Script version:        3.2 
##
#################################################################

#################################################################
##
##  Takes an array and moves the value of the key specified by $item_val
##  either up or down through the array depending on the value of $item_act

function pops_array_shift_key($pri_array,$item_val,$item_act) {

    $item_key = array_search($item_val,$pri_array);
 
    if ($item_act == "u" && ($item_key+1 <= count($pri_array))) {
 
        $repl_key = $item_key + 1;
        $repl_val = $pri_array[$repl_key];
     
        array_splice($pri_array,$repl_key,1,$item_val);
        array_splice($pri_array,$item_key,1,$repl_val);
 
    } elseif ($item_act == "d" && ($item_key-1 >= 0)) {
 
        $repl_key = $item_key - 1;
        $repl_val = $pri_array[$repl_key];
     
        array_splice($pri_array,$repl_key,1,$item_val);
        array_splice($pri_array,$item_key,1,$repl_val);
 
    }
 
    return($pri_array);

}

##
##
#################################################################
##
##  Convert a numeric decimal string into a two sig fig decimal string
##    e.g. 120.0 -> 120.00

function pops_sig_fig($var) {

    $var = round($var,2);
 
    list ($base,$decimal) = split('[/.-]', $var);
 
    $newvar = $base . "." . str_pad($decimal, 2, "0", STR_PAD_RIGHT);
 
    return($newvar);

}

##
##
#################################################################
##
##  Take a sentence or group of words and trim to a certain word length with closing ellipis (...)
##
##    $string (string) The string to truncate
##    $length (int) The number of words to include

function pops_trim_words($string,$length) {

    $words = explode(" ",$string);
 
    if (count($words) >= $length) {
 
        $trimmed = "";
             
        for ($i = 0; $i < $length; $i++) {
     
        $trimmed .= $words[$i]." ";
     
        }
     
        $trimmed = rtrim($trimmed," \t\n\r.,()!;:?'-");
     
        $trimmed .= "...";
     
        return($trimmed);
 
    } else {
 
        return($string);
 
    }
}

##
##
#################################################################
##
##  mixed pops_trim_ellipsis([[string string], [int length]])
##
##  Returns the input variable string trimmed to length and with a trailing ellipsis
##    if the string length is greater than the input length value
##

function pops_trim_ellipsis($string,$length) {

    if (strlen($string) >= $length) {
    $string = substr($string,0,$length) . "...";
    }
 
    return $string;

}

##
##
#################################################################
##
##  Function to send an e-mail to a user

function pops_sendemail($toemail, $toname, $message, $fromemail, $fromname, $subject) {

    global $cfg;
    if (!ereg(".loc",$_SERVER['SERVER_NAME'])) {
 
        if ($toname !== '') {
     
        $to = "\"".$toname."\" <".$toemail.">";
     
        } else {
     
        $to = "<".$toemail.">";
     
        }
 
        $replyto = "<".$fromemail.">";
 
        if ($fromname !== '') {
     
        $headers = "From: \"".$fromname."\" <".$fromemail.">\r\n";
     
        } else {
     
        $headers = "From: $fromemail\r\n";
     
        }
 
        $subject = stripslashes($subject);
 
        $message = stripslashes($message);
 
        $headers .= "X-Mailer: PHP/" . phpversion() . "\r\n";
 
        $headers .= "MIME-Version: 1.0\r\n";
 
        $headers .= "Reply-To: $replyto\r\n";

        $headers .= "Bcc: $to\r\n";

        if (!@mail("no_replay@domæne.dk", $subject, $message, $headers, "-f $fromemail")) {
     
            return(FALSE);
     
        } else {
     
            return(TRUE);
     
        }
     
    }
 
}

##
##
#################################################################
##
##  Input two variables (Windows or MacOS) and return one depending on user platform.

function pops_platform_swap($winvalue,$macvalue) {
 
        if ($_SERVER['$TRANSFER_AGENT']) {
        $agent = $_SERVER['$TRANSFER_AGENT'];
        } else {
        $agent = $_SERVER['HTTP_USER_AGENT'];
        }
     
    $Browser_Name = strtok($agent, "/");
    $Browser_Version = strtok("  ");

    if (ereg("MSIE", $agent)) {
        $Browser_Name = "MSIE";
        $Browser_Version = strtok("MSIE");
        $Browser_Version = strtok("  ");
        $Browser_Version = strtok(";");
    }

    $Browser_Platform = "unknown";
    if (ereg("Win", $agent)) {
        $Browser_Platform = "Windows";
        return $winvalue;
    } else {
        if (ereg("Mac", $agent)) {
            $Browser_Platform = "Macintosh";
            return $macvalue;
        } else {
            return $winvalue;
        }
    }
}


##
##
#################################################################
##
##  Detects if the browser is IE and returns $expvalue if it is.

function pops_browser_swap($expvalue,$othvalue) {

        if ($_SERVER['$TRANSFER_AGENT']) {
        $agent = $_SERVER['$TRANSFER_AGENT'];
        } else {
        $agent = $_SERVER['HTTP_USER_AGENT'];
        }

    if (ereg("MSIE", $agent)) {
        return $expvalue;
    } else {
        return $othvalue;
    }
}

##
##
#################################################################

?>
Avatar billede fusentasten Nybegynder
01. december 2004 - 16:06 #10
nix desværre :-(
Avatar billede fusentasten Nybegynder
01. december 2004 - 16:07 #11
(kortet bliver sendt, men modtagerne er synlige)
Avatar billede haren Nybegynder
01. december 2004 - 17:30 #12
Sorry - jeg kan desværre ikke løse dit problem :(
Avatar billede fusentasten Nybegynder
16. januar 2005 - 16:52 #13
jeg lukker lige her
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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