---
title: "Skicka e-mail"
type: "forum-thread"
url: "https://www.webforum.nu/amne/programmering/57695-skicka-e-mail"
topic: "Programmering"
topic_url: "https://www.webforum.nu/amne/programmering"
author: "SPiN"
published: "2002-11-01T00:21:20.000Z"
updated: "2002-11-01T15:34:42.000Z"
replies: 12
views: 476
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/programmering/57695-skicka-e-mail"
---

# Skicka e-mail

## #1 — SPiN, 2002-11-01T00:21Z

Hej!

Jag sitter och leker med J2ME och funderar på hur jag ska kunna bygga en email-applikation för telefoner... Jag vill alltså inte använda redan existerande JavaMail eller liknande, utan skriva en egen, pytteliten applikation för det här. Hur ser protkollet för SMTP ut, och hur bör jag gå till väga? Det handlar alltså om att skicka små meddelanden ( Inte ens ta emot e-mails alltså ), utan möjligheten med attachments och liknande. Plain text, mao.

Jag har sökt som en dåre på nätet, och jag får väl pallra mitt arsle till RFC'n för SMTP - men jag kommer nog inte att förstå nånting där heller. Hur ser t.ex. anslutningssträngen till en SMTP-server ut? Protokollet är väl inte så svårt att luska ut, egentligen.

Permalänk: https://www.webforum.nu/p/57695

## #2 — Viktor, 2002-11-01T08:14Z

Som du säger så är det inte så svårt :)

> Example of the SMTP Procedure
> 
>          This SMTP example shows mail sent by Smith at host Alpha.ARPA,
>          to Jones, Green, and Brown at host Beta.ARPA.  Here we assume
>          that host Alpha contacts host Beta directly.
> 
>             S: MAIL FROM:\<Smith@Alpha.ARPA\>
>             R: 250 OK
> 
>             S: RCPT TO:\<Jones@Beta.ARPA\>
>             R: 250 OK
> 
>             S: RCPT TO:\<Green@Beta.ARPA\>
>             R: 550 No such user here
> 
>             S: RCPT TO:\<Brown@Beta.ARPA\>
>             R: 250 OK
> 
>             S: DATA
>             R: 354 Start mail input; end with \<CRLF\>.\<CRLF\>
>             S: Blah blah blah...
>             S: ...etc. etc. etc.
>             S: \<CRLF\>.\<CRLF\>
>             R: 250 OK
> 
>          The mail has now been accepted for Jones and Brown.  Green did
>          not have a mailbox at host Beta.

Du kan själv prova genom att öppna telnet mot din mailserver (har testat själv mot telia och det fungerar).
För att logga in så skriver du "helo xxxx.xxxx.xxx" (xxx är din mail server) och efter det är det bara att följa koden som jag klipte in ovan. Du avslutar medelandet (data) genom att ha en ensam punkt på en rad. För att få subject så skriver du "Subject: Ditt subject" högst upp i data och trycker på return 2 ggr.

För att få det att fungera i Java vet jag inte hur man ska göra. Om man kan ignorera retur koder så är det nog inte så svårt men om man inte kan göra det, hur gör man då för att få dubbel riktad komunikation?

/Viktor

Permalänk: https://www.webforum.nu/p/839143

## #3 — SPiN, 2002-11-01T09:11Z

Thanks, mon! Nu ska jag pillas med Java. :)

Permalänk: https://www.webforum.nu/p/842124

## #4 — SPiN, 2002-11-01T10:10Z

Humma, kommandot **RCPT TO:** kändes inte igen... Jag testar mot Telia. :q

Permalänk: https://www.webforum.nu/p/842176

## #5 — Gein, 2002-11-01T10:12Z

Testar mot telia? dom har stängt ner port 25, kan det vara ett problem?

Permalänk: https://www.webforum.nu/p/842179

## #6 — SPiN, 2002-11-01T10:13Z

Nej, det har dom inte eftersom att jag lyckas logga in mot den. Dom har troligtvis inte stängt den på sin egen SMTP-server... ;)

Permalänk: https://www.webforum.nu/p/842182

## #7 — Gein, 2002-11-01T10:14Z

Oh, inte på deras egen givetvis, trodde du lekte med egen eller så  :r

Permalänk: https://www.webforum.nu/p/842184

## #8 — Viktor, 2002-11-01T10:15Z

Det är lite krångligt, om du har skrivit fel och går bakåt, och skriver om så ser det rätt ut på skärmen men det skickas fel. Försök igen bara och skriv rätt från början så ska det fungera :)
Jag provade som sagt för 2 timmar sedan på mail1.telia.com och det gick bra.

/Viktor

Permalänk: https://www.webforum.nu/p/842188

## #9 — SPiN, 2002-11-01T10:19Z

mail1.telia.com använder inte jag, det är väl deras POP3-server? Jag tror inte att jag skrev fel, men jag försöker igen. :)

Permalänk: https://www.webforum.nu/p/842197

## #10 — Viktor, 2002-11-01T10:20Z

Nej, mail1.telia.com är SMTP servern, m1.877.telia.com är POP servern.

/Viktor

Permalänk: https://www.webforum.nu/p/842200

## #11 — SPiN, 2002-11-01T10:23Z

Jaja, jag luskade fram att båda var SMTP-servers ivf, så det verkade inte spela nån roll... ;)

Det funkade fint den här gången. :)

Gütt! Tack!

Permalänk: https://www.webforum.nu/p/842206

## #12 — Viktor, 2002-11-01T11:35Z

Lägg gärna ut lite kod om du lyckas :)

/Viktor

Permalänk: https://www.webforum.nu/p/842286

## #13 — SPiN, 2002-11-01T15:34Z

Det var ju inga konstigheter alls att skriva en Java-applikation som skickar enkla text-emails:

```
import java.io.*;
import java.net.Socket;
import java.net.SocketException;

public class EMail {
	private Socket socket;
	private OutputStreamWriter outputStreamWriter;
	private BufferedReader bufferedReader;
	
	public static void main( String[] args ) {
		EMail email = new EMail();
		email.start( "MyMessage", "bjorne.w@telia.com", "bjorne.w@telia.com" );
	}
	
	public void start( String message, String from, String to ) {
		try {
			System.out.println( "Connection to mail1.telia.com..." );
			this.socket = new Socket( "mail1.telia.com", 25 );
			
			this.outputStreamWriter = new OutputStreamWriter( this.socket.getOutputStream() );
			this.bufferedReader = new BufferedReader( new InputStreamReader( this.socket.getInputStream() ) );
			
			System.out.println( "Connected!" );
			System.out.println( "From server: " + bufferedReader.readLine() );
			
			send( "helo mail1.telia.com" );
			send( "MAIL FROM:<" + from + ">" );
			send( "RCPT TO:<" + to + ">" );
			send( "DATA" );
			send( message + "\r\n.\r\n" );
			
			this.outputStreamWriter.close();
			this.bufferedReader.close();
			this.socket.close();
		}
		catch( Exception e ) {
			System.err.println( "Error: " + e.getMessage() );
			e.printStackTrace();
		}
	}
	
	private void send( String sendMe ) throws Exception {
		System.out.println( "To server: " + sendMe );
		this.outputStreamWriter.write( sendMe + "\r\n" );
		this.outputStreamWriter.flush();
		System.out.println( "From server: " + this.bufferedReader.readLine() );
	}
}
```

Permalänk: https://www.webforum.nu/p/842465

---

Tråden på webben: https://www.webforum.nu/amne/programmering/57695-skicka-e-mail
