# schriftgröße ändern



## erdmulch (10. Feb 2011)

Hallo zusammen,

ich habe ein kleines Problem.
und zwar will ich über Java eine email versenden, was mir auch gelingt
allerdings will ich die Überschrift bzw. die Anrede in einer anderen Schriftgröße.
kann mir jemand sagen wie sowas geht?

danke im vorraus



```
import java.util.Date;
import java.util.Properties;
 
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
 
public class Mail 
{
    
    public void sendMail(String smtpHost,String username,String password,String senderAddress,String recipientsAddress,String subject,String text ){
        MailAuthenticator auth = new MailAuthenticator(username, password);
        System.out.println("Es wird eine Mail versendet!!!!");
        Properties properties = new Properties();
 
        // Den Properties wird die ServerAdresse hinzugefügt
        properties.put("mail.smtp.host", smtpHost);
 
        // !!Wichtig!! Falls der SMTP-Server eine Authentifizierung
        // verlangt
        // muss an dieser Stelle die Property auf "true" gesetzt
        // werden
        properties.put("mail.smtp.auth", "true");
 
        // Hier wird mit den Properties und dem implements Contructor
        // erzeugten
        // MailAuthenticator eine Session erzeugt
        Session session = Session.getDefaultInstance(properties, auth);
 
        try {
            // Eine neue Message erzeugen
            Message msg = new MimeMessage(session);
 
            // Hier werden die Absender- und Empfängeradressen gesetzt
            msg.setFrom(new InternetAddress(senderAddress));
            msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(
                    recipientsAddress, false));
 
            // Der Betreff und Body der Message werden gesetzt
            msg.setSubject(subject);
            msg.setText(text);
 
            // Hier lassen sich HEADER-Informationen hinzufügen
            msg.setHeader("Test", "Test");
            msg.setSentDate(new Date( ));
 
            // Zum Schluss wird die Mail natürlich noch verschickt
            Transport.send(msg);
 
        }
        catch (Exception e) 
        {
            e.printStackTrace( );
        }
    }
    
    class MailAuthenticator extends Authenticator
    {
 
        /**
         * Ein String, der den Usernamen nach der Erzeugung eines
         * Objektes<br>
         * dieser Klasse enthalten wird.
         */
        private final String user;
 
        /**
         * Ein String, der das Passwort nach der Erzeugung eines
         * Objektes<br>
         * dieser Klasse enthalten wird.
         */
        private final String password;
 
        /**
         * Der Konstruktor erzeugt ein MailAuthenticator Objekt<br>
         * aus den beiden Parametern user und passwort.
         * 
         * @param user
         *            String, der Username fuer den Mailaccount.
         * @param password
         *            String, das Passwort fuer den Mailaccount.
         */
        public MailAuthenticator(String user, String password) 
        {
            this.user = user;
            this.password = password;
        }
 
        /**
         * Diese Methode gibt ein neues PasswortAuthentication
         * Objekt zurueck.
         * 
         * @see javax.mail.Authenticator#getPasswordAuthentication()
         */
        protected PasswordAuthentication getPasswordAuthentication() 
        {
            return new PasswordAuthentication(this.user, this.password);
        }
    }
    
    public static void main(String[] args) 
    {
 
        String username = "max.mustermann";
        String password = "geheim";
        String senderAddress ="max.mustermann@web.de";//someone@web.de
        String recipientsAddress = "gisela.musterfrau@web.de"; //somereceiver@web.de
        String subject = "test";
        String text = "Hallo Gisela,"
        			 +"\n"+"\n"+"Zeile1 gefüllt mit Text." +""+"\n"
        			 +"Zeile2 gefüllt mit Text"
        			 +"Zeile3 gefüllt mit Text";
        			 			 
        			 
        String smtpHost = "smtp.web.de";
        
        new Mail().sendMail(smtpHost, username, password, senderAddress, recipientsAddress, subject, text);
    }
}
```


----------



## eRaaaa (10. Feb 2011)

http://www.java-forum.org/java-basi...ftart-farbe-groesse-emailversand-aendern.html


----------



## erdmulch (10. Feb 2011)

habe nun folgende message....
leider kommt es genau so an...
es wird keine schriftart verändert!
ich denke dass es was mit dem \ zu tun hat
wie muss es denn aussehen?



```
String text = "Hallo";
        text = "\"<font face=\"Verdana\">\"" + text + "\"</font><br>\"";
```


----------



## HoaX (11. Feb 2011)

Du musst schon den Contenttype angeben wenn du eine Html-Mail schicken willst. Dann aber nicht vergessen einen Multipart zu verwenden und die Nachricht auch ohne Formatierung als Plaintext anzuhängen, falls der Nutzer Html nicht will/abgeschaltet hat.


----------



## erdmulch (11. Feb 2011)

kannst du mir ein genaues Beispiel geben? ich steh nämlich auf dem Schlauch!


----------



## eRaaaa (11. Feb 2011)

Den Link oben und alle Posts die dahinter stecken angeschaut? Da kommen doch einige Beispiele....


----------



## erdmulch (11. Feb 2011)

klar hab ich es angeschaut, aber ich check es nicht...sonst würde ich nicht so fragen!!!


----------



## eRaaaa (11. Feb 2011)

erdmulch hat gesagt.:


> klar hab ich es angeschaut, aber ich check es nicht...sonst würde ich nicht so fragen!!!



Von verstehen hast du nichts gesagt, du wolltest ein Beispiel und das steht im Link. Was genau verstehst du denn nicht, oder sollen wir das auch raten? HTML kannst du? In deinem Beispiel ist nämlich nichts von Schriftgröße zu sehen und wie man den ContentType angibt steht doch dort alles ???:L
In etwa so:

```
//the multipart
        MimeMultipart multiPart = new MimeMultipart("mixed");
//      // a plaintext part
//      MimeBodyPart body1 = new MimeBodyPart();
//      body1.setContent("blub", "text/plain");
//      multiPart.addBodyPart(body1);
        // a html part
        MimeBodyPart body2 = new MimeBodyPart();
        
        String body = "<font face=\"Verdana\" size=\"20\">hallo welt</font><br>";
        
        body2.setContent(body, "text/html");
        multiPart.addBodyPart(body2);
```

Mit der Doku, google und den Links die dort wiederum zu finden sind sollte das verständlich sein oder nicht? Ansonsten sage halt genau wo du hängst, weil was bringt es dir wenn wir dir jetzt noch ein Beispiel machen das fast 1:1 ist wie das von _Der Müde Joe_ ?


----------

