Avatar billede xtcy Nybegynder
15. september 2005 - 09:43 Der er 8 kommentarer

Send mail fra program

Hey hey der..
sidder og skal lave et program til noget projekt...
og ved virkelig ikke hvordan jeg skal få lavet den her ekstra ting jeg ar tænkt over...
hvordan skal koden se ud hvis jeg skal sende en mail fra mit program ? altså en slags kviterings email...
har nogle checkboxe og comboboxe nogle memo og sådan... hvordan får jeg al den information fra dem til at blive sendt i en email som jeg selv har indtat i et edit felt ?
Avatar billede arne_v Ekspert
15. september 2005 - 10:42 #1
har du et mail bibliotek eller skal du gøre det ved hjælp af sockets ?

(jeg har noget kode til sockets liggende)
Avatar billede xtcy Nybegynder
15. september 2005 - 10:47 #2
heheh aner det faktisk ikke..
er først lige begyndt på programmering så er på rimelig bar bund med hvordan jeg skal gribe det an...
altså er det overhovedet muligt at gøre det uden at have alt muligt mail sat op også ?

altså sådan som jeg ville tro at det skulle gøre er noget i retningen af at de ting som man har indtastet bliver gemt i et teksdokument eller sådan også sendt fra programmet...

altså at når jeg udfylder de forskellige ting i mit program blandt andet også email felt.. altså der hvor det skal sendes til..

hvis i forstår
Avatar billede arne_v Ekspert
15. september 2005 - 10:54 #3
det er nok lidt mere kompliceret end du forestiller dig
Avatar billede arne_v Ekspert
15. september 2005 - 10:55 #4
eksemplet er her:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>

#include <windows.h>
#include <errno.h>

void mailsend(char *hostname,char *to,char * from,char *subj,char *body)
{
  int sd,status,tmp;
  char *buf,ownhost[100];
  struct sockaddr local,remote;
  struct hostent *hostinfo;
  /* create socket */
  sd=socket(AF_INET,SOCK_STREAM,0);
  if(sd<0) {
      printf("Error creating socket: %s\n",strerror(errno));
      goto fin;
  }
  /* bind socket */
  local.sa_family=AF_INET;
  memset(local.sa_data,0,sizeof(local.sa_data));
  status=bind(sd,&local,sizeof(local));
  if(status<0) {
      printf("Error binding socket: %s\n",strerror(errno));
      goto fin;
  }
  /* lookup host */
  hostinfo=gethostbyname(hostname);
  if(!hostinfo) {
      printf("Error looking up host: %s\n",hostname);
      goto fin;
  }
  /* connect to host */
  remote.sa_family=hostinfo->h_addrtype;
  memcpy(remote.sa_data+2,hostinfo->h_addr_list[0],hostinfo->h_length);
  *((short *)remote.sa_data)=25;
  tmp=remote.sa_data[0];
  remote.sa_data[0]=remote.sa_data[1];
  remote.sa_data[1]=tmp;
  status=connect(sd,&remote,sizeof(remote));
  if(status!=0) {
      printf("Error connecting to host: %s port: %d\n",hostname,25);
      goto fin;
  }
  /* send email */
  gethostname(ownhost,sizeof(ownhost));
  buf = malloc(2000+strlen(body));
  sprintf(buf,"HELO %s\r\n"
              "MAIL FROM: <%s>\r\n"
              "RCPT TO: <%s>\r\n"
              "DATA\r\n"
              "Return-Path: <%s>\r\n"
              "From: %s\r\n"
              "To: %s\r\n"
              "Subject: %s\r\n"
              "MIME-version: 1.0\r\n"
              "Content-type: text/html; Charset=iso-8859-1\r\n"
              "\r\n"
              "%s\r\n"
              ".\r\n"
              "QUIT\r\n",ownhost,from,to,from,from,to,subj,body);
  status=send(sd,buf,strlen(buf),0);
  if(status<0) {
      printf("Error sending GET request\n");
      goto fin;
  }
  free(buf);
fin:
  closesocket(sd);
  return;
}

int main(int argc,char *argv[])
{
  WSADATA WSAData;
  WSAStartup(0x0101,&WSAData);
  mailsend("minmailserver", "dig@ditdomain.dk", "mig@mitdomain.dk", "Dette er en test", "<a href='http://www.eksperten.dk/'>E</a>");
  WSACleanup();
  return 0;
}
Avatar billede xtcy Nybegynder
15. september 2005 - 11:03 #5
forstår ikke rigtigt hvordan det fungere... altså hvor skulle jeg evt kunne sætte det ind ? sidder pg bruger Borland c++ og laver windows programmering.. altså alt hvad jeg vil have er det bare at den sender de ting jeg har skrevet i en memo og eller hvad der er krydset af i en checkbox til min mail...
er det virkelig så svært ? hehe
Avatar billede arne_v Ekspert
15. september 2005 - 11:07 #6
hvis ikke Borland har leveret en fin lille email komponent til dig så er det en lille
smule svært

det har de muligvis - jeg bruger ikke selv BCB
Avatar billede xtcy Nybegynder
15. september 2005 - 11:11 #7
hehe jamen har ikke lige nogen andelse om hvordan jeg griber det an
Avatar billede Slettet bruger
16. september 2005 - 11:29 #8
Prøv at søge lidt info om TSendMail det skulle kunne bruges til at sende mails i borland builder c++
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