Avatar billede Slettet bruger
21. februar 2006 - 14:02 Der er 20 kommentarer og
1 løsning

Hvor indsætter jeg en bbc i min mailform?

Her er min fuldt funktionerende mailform. Den sender til mange emailadresser af gangen via forudindsatte adresser i et tekstfeldt. Problemet er at modtageren kan se alle mailadresser mailen er sendt til! Hvor indsatter jeg en Blind Carbon Copy i scriptet?:

void SendMail(Object Sender, EventArgs E)
{
string strNyhedsbrev, strEmailTo;

strNyhedsbrev = tbNyhedsbrev.Text;
strEmailTo = tbEmail.Text;

System.Web.Mail.MailMessage mailMessage = new System.Web.Mail.MailMessage();
mailMessage.From = "kundeservice@ultimate-web.dk";
mailMessage.To = strEmailTo;
mailMessage.Subject = "Nyhedsbrev fra nordjyskesommerhuse";

mailMessage.Body = "Du har netop modtaget et af Nordjyske Sommerhuses jævnligt udsendte nyhedsbreve.\n\n " + tbNyhedsbrev.Text + "" ;

System.Web.Mail.SmtpMail.SmtpServer = "mail.tele.dk";

try {
    System.Web.Mail.SmtpMail.Send(mailMessage);
    Besked.InnerHtml = "Nyhedsbrev udsendt til tilmeldte";
    }
    catch (Exception e)
    {
    Besked.InnerHtml = "Error! Plz try again!";
    }

}
Avatar billede spyrodrag Nybegynder
21. februar 2006 - 14:11 #1
Hej.

Når jeg bruger System.Web.Mail.MailMessage, så kan jeg bare gøre følgende:
mailMessage.Bcc = "a@b.c;a@d.d" // Blind carbon copy receivers...

Er det dette du søger? Bemærk at du kan have flere på Bcc, bare del dem med ;.

Venlig hilsen,
Martin.
Avatar billede Slettet bruger
21. februar 2006 - 14:21 #2
Skal man skrive hver enkelt emailadresse?
mailMessage.Bcc = "email@adresse.noget"

eller er der en simpel metode man kan vælge alle?
Avatar billede spyrodrag Nybegynder
21. februar 2006 - 14:25 #3
Prøv at vise mig hvordan du har alle dine emails... Har du dem i et string array?
Avatar billede dr_chaos Nybegynder
21. februar 2006 - 14:32 #4
du må gerne lige huske at bruge lidt points på dem som svarer på dine spørgsmål.
Der vil være færre som ønsker at hjælpe hvis man ikke afsætter lidt points.
Avatar billede Slettet bruger
21. februar 2006 - 14:32 #5
Nope! I en database. Det er et typisk "tilmeld dig et nyhedsbrev" script! som henter alle emailadresserne ind i et datatekstfeldt når sitet loades. Således kan webadmin skriver nyhedsbrevet i et andet tekstfeldt og sende til alle adresserne i førnævnte tekstfelt.

if (!IsPostBack)
{
OleDbConnection OurConnection;
OleDbCommand OurCommand;
OleDbDataReader OurDataReader;       
OurConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("../database/ns.mdb")+";");           
OurConnection.Open();
OurCommand = new OleDbCommand("SELECT email FROM nyhedsbrev ORDER BY email", OurConnection);
OurDataReader = OurCommand.ExecuteReader();

while(OurDataReader.Read())
{
    tbEmail.Text = tbEmail.Text + OurDataReader["email"].ToString() + "; ";
}
OurConnection.Close();
OurDataReader.Close();           
    }
}
Avatar billede Slettet bruger
21. februar 2006 - 14:33 #6
Ang. ponits uddeler jeg dem efter hvilken sværhedsgrad jeg anser spørgsmålet for at være... ;-
Avatar billede spyrodrag Nybegynder
21. februar 2006 - 14:43 #7
Du kan forkorte din linie en lille smule:
tbEmail.Text += OurDataReader["email"].ToString() + "; ";

Men ellers burde du kunne skrive:
mailMessage.Bcc = tbEmail.Text;

Fordi at din e-mail adresser er allerede delt med ;

Angående points, så hjælper jeg fordi at jeg synes det er sjovt at hjælpe... :)

Venlig hilsen,
Martin.
Avatar billede spyrodrag Nybegynder
21. februar 2006 - 14:45 #8
Her er et svar, hvis du har løst dit problem.
Avatar billede Slettet bruger
21. februar 2006 - 14:47 #9
Din og andres hjælp er meget prisværdigt! Det var ment som et svar til dr chaos! ;-)
Avatar billede dr_chaos Nybegynder
21. februar 2006 - 14:51 #10
:)
Ved godt at sværhedsgraden varierer meget men normalt er 15 points det man sætter af til et let spm.
Ikke men som kritik bare noget til eftertanke :)
Avatar billede Slettet bruger
21. februar 2006 - 15:02 #11
mailMessage.Bcc = tbEmail.Text; --> dutter ikke! kan stadig se alle mailadresser!
:~|
Avatar billede spyrodrag Nybegynder
21. februar 2006 - 15:14 #12
Hej.

MessageBox.Show(tbEmail.Text);
Viser det dig en masse emails, som alle er delt med ;?

Venlig hilsen,
Martin.
Avatar billede Slettet bruger
21. februar 2006 - 15:23 #13
Brugte
Response.Write(tbEmail.Text);
istedet. Og ja! det viste mig alle mails delt med ;! Bare et simpeltspørgsmål, skal der være mellemrum mellem ; og næste mailadresse?
Avatar billede spyrodrag Nybegynder
21. februar 2006 - 15:28 #14
Hej.

Det tror jeg ikke gør nogen forskel. Jeg kan bare ikke forstå at det ikke virker, det gør det nemlig for mig. Jeg er nok ikke i stand til at hjælpe dig meget mere, så jeg vil lade nogle andre komme til.
Du er i hvert fald tæt på løsningen.

Venlig hilsen,
Martin.
Avatar billede akempff Nybegynder
21. februar 2006 - 15:55 #15
ER det ikke fordi du sætter din Email recipients til
strEmailTo = tbEmail.Text;
.....

mailMessage.To = strEmailTo;


Laver du så ikke den samme liste på recipients og blind copy?
Det vil sige alle får en mail sendt til alle og alle får en bcc mail.
Du skal vel bare sende mailen til den første på listen og så bcc´ resten.

Det er mit gæt ihvertfald.
Avatar billede Slettet bruger
21. februar 2006 - 15:57 #16
Tja - det giver da en vis mening! Men hvordan vil scriptet i så fald se ud?
Avatar billede akempff Nybegynder
21. februar 2006 - 16:04 #17
Det kunne være at den første mail skulle være "din" egen, altså dem der sender ud, som arkiv på mails sendt. Ellers ville alle dine bcc´er jo kunne se den første på listen. 
Så kunne det se sådan her ud:

void SendMail(Object Sender, EventArgs E)
{
string strNyhedsbrev, strEmailTo;

strNyhedsbrev = tbNyhedsbrev.Text;
strEmailTo = tbEmail.Text;

System.Web.Mail.MailMessage mailMessage = new System.Web.Mail.MailMessage();
mailMessage.From = "kundeservice@ultimate-web.dk";
mailMessage.To = "kundeservice@ultimate-web.dk";
mailMessage.Bcc = strEmailTo;
mailMessage.Subject = "Nyhedsbrev fra nordjyskesommerhuse";

mailMessage.Body = "Du har netop modtaget et af Nordjyske Sommerhuses jævnligt udsendte nyhedsbreve.\n\n " + tbNyhedsbrev.Text + "" ;

System.Web.Mail.SmtpMail.SmtpServer = "mail.tele.dk";

try {
    System.Web.Mail.SmtpMail.Send(mailMessage);
    Besked.InnerHtml = "Nyhedsbrev udsendt til tilmeldte";
    }
    catch (Exception e)
    {
    Besked.InnerHtml = "Error! Plz try again!";
    }

}
Avatar billede Slettet bruger
21. februar 2006 - 16:17 #18
Dette er (heller) ikke så god en løsning, da alle således kan se den første adresse den er sendt til, desuden vil ingen .com mail adresser modtage mailen... (Har testet med både .com og .dk adresser)
~>:(
Avatar billede Slettet bruger
21. februar 2006 - 16:26 #19
Ups - jeg vrøvler! SElvfølgelig bliver den sendt til .dk adressen -det er for f***** min outlook adresse...
Avatar billede Slettet bruger
22. februar 2006 - 12:35 #20
Denne virker:

System.Web.Mail.MailMessage mailMessage = new System.Web.Mail.MailMessage();
mailMessage.From = "kundeservice@ultimate-web.dk";
mailMessage.Bcc = strEmailTo;
mailMessage.Subject = "Nyhedsbrev fra nordjyskesommerhuse";

Så simpelt kan det gøres! Og mht til .com adresser så har jeg også lært om noget der hedder Spamfilter *rømme*

Jeg tror at spyro var tættest på, så smid et svar igen...
Avatar billede Slettet bruger
07. marts 2006 - 08:32 #21
Ok - ingen respons! lukker selv...
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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