Avatar billede Jørgen Kirkegaard Professor
03. august 2003 - 11:44 Der er 4 kommentarer og
1 løsning

Mail fra DOS incl. attachment med flere filer

Findes der en standardkommando, evt. et program, som følger med Windows 2000 og/eller office 2000, som kan sende en mail fra DOS incl. attachment med flere filer?
Avatar billede riversen Nybegynder
03. august 2003 - 12:34 #1
nej...og du må gerne sætte point ned.
Avatar billede arne_v Ekspert
03. august 2003 - 15:55 #2
Nej. MS har ikke været så glade for DOS prompte de sidste 8 år.

Men man kan skrive et sådant program på en 75-150 linier Java (og java
compiler og java virtual machine er jo gratis).
Avatar billede arne_v Ekspert
03. august 2003 - 17:02 #3
Her er 54 linier som kan håndtere multiple attachments (dog ikke binære):

import java.util.Properties;

import java.io.*;
import javax.mail.*;
import javax.mail.internet.*;

public class Mail {
    public static void main(String[] args) {
        String[] type = new String[(args.length - 4) / 2];
        String[] content = new String[(args.length - 4) / 2];
        for(int i = 0; i < type.length; i++) {
            type[i] = args[4 + 2 * i + 1];
            content[i] = load(args[4 + 2 * i]);
        }
        sendMultipartEmail(args[0], args[1], args[2], args[3], type, content);
    }
    public static String load(String filename) {
        StringBuffer sb = new StringBuffer("");
        try {
            BufferedReader in = new BufferedReader(new FileReader(filename));
            String line;
            while((line = in.readLine()) != null) {
                sb.append(line);
                sb.append('\n');
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        return sb.toString();
    }
    public static void sendMultipartEmail(String mailserver, String from, String to, String subject, String[] type, String[] content) {
        try {
            Properties props = System.getProperties();
            props.put("mail.smtp.host", mailserver);
            Session session = Session.getDefaultInstance(props, null);
            MimeMessage message = new MimeMessage(session);
            message.setFrom(new InternetAddress(from));
            message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
            message.setSubject(subject);
            MimeMultipart mpart = new MimeMultipart();
            for(int i = 0; i < type.length; i++) {
                MimeBodyPart onempart = new MimeBodyPart();
                onempart.setContent(content[i], type[i]);
                mpart.addBodyPart(onempart);
            }
            message.setContent(mpart);
            Transport.send(message);
        } catch (AddressException e) {
            e.printStackTrace();
        } catch (MessagingException e) {
            e.printStackTrace();
        }
    }
}
Avatar billede arne_v Ekspert
03. august 2003 - 17:03 #4
Det kaldes med følgende argumenter:
  mailserver
  from adresse
  to adresse
  subject
  navn 1. fil
  mime type 1. fil
  ...
  navn X. fil
  mime type X. fil
Avatar billede Jørgen Kirkegaard Professor
04. august 2003 - 09:09 #5
Jeg ved ikke, hvordan man sætter points ned, og jeg kender ikke java og ved sådan set ikke, hvor jeg skulle stikke koden hen. Ellers tak til Arne V.
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