JavaMail socorro!

9 respostas
O

Gente, este ex de envio de -mail :

import java.util.<em>;

import <a href="http://java.io">java.io</a>.</em>;

import javax.mail.<em>;

import javax.mail.internet.</em>;

import javax.activation.*;

/**

  • msgsendsample creates a very simple text/plain message and sends it.

  • <p>

  • usage: <code>java msgsendsample to from smtphost true|false</code>

  • where to and from are the destination and

  • origin email addresses, respectively, and smtphost

  • is the hostname of the machine that has the smtp server

  • running. The last parameter either turns on or turns off

  • debugging during sending.

  • @author Max Spivak
    
    */
    
    public class msgsendsample {
    
    static String msgText = This is a message body.
    
    Heres the second line.;
    
    public static void main(String[] args) {
    
    if (args.length != 4) {
    
    usage();
    
    System.exit(1);
    
    }
    

    System.out.println();

    String to = args[0];
    
    String from = args[1];
    
    String host = args[2];
    
    boolean debug = Boolean.valueOf(args[3]).booleanValue();
    
    // create some properties and get the default Session
    
    Properties props = new Properties();
    
    props.put(mail.smtp.host, host);
    
    if (debug) props.put(mail.debug, args[3]);
    

    Session session = Session.getInstance(props, null);
    session.setDebug(debug);

    try {
    
    // create a message
    
    Message msg = new MimeMessage(session);
    
    msg.setFrom(new InternetAddress(from));
    
    InternetAddress[] address = {new InternetAddress(args[0])};
    
    msg.setRecipients(Message.RecipientType.TO, address);
    
    msg.setSubject(JavaMail APIs Test);
    
    msg.setSentDate(new Date());
    
    // If the desired charset is known, you can use
    
    // setText(text, charset)
    
    msg.setText(msgText);
    
    Transport.send(msg);
    
    } catch (MessagingException mex) {
    
    System.out.println("
    
    –Exception handling in msgsendsample.java");
    
    mex.printStackTrace();
     System.out.println();
     Exception ex = mex;
     do {
     if (ex instanceof SendFailedException) {
         SendFailedException sfex = (SendFailedException)ex;
         Address[] invalid = sfex.getInvalidAddresses();
         if (invalid != null) {
     	System.out.println("    ** Invalid Addresses");
     	if (invalid != null) {
     	    for (int i = 0; i &lt; invalid.length; i++)
     		System.out.println("         " + invalid[i]);
     	}
         }
         Address[] validUnsent = sfex.getValidUnsentAddresses();
         if (validUnsent != null) {
     	System.out.println("    ** ValidUnsent Addresses");
     	if (validUnsent != null) {
     	    for (int i = 0; i &lt; validUnsent.length; i++)
     		System.out.println("         "+validUnsent[i]);
     	}
         }
         Address[] validSent = sfex.getValidSentAddresses();
         if (validSent != null) {
     	System.out.println("    ** ValidSent Addresses");
     	if (validSent != null) {
     	    for (int i = 0; i &lt; validSent.length; i++)
     		System.out.println("         "+validSent[i]);
     	}
         }
     }
     System.out.println();
     if (ex instanceof MessagingException)
         ex = ((MessagingException)ex).getNextException();
     else
         ex = null;
     } while (ex != null);
    

    }
    }

    private static void usage() {
    
    System.out.println(“usage: java msgsendsample <to> <from> <smtp> true|false);
    
    }
    
    }
    

[size=“18”]
Deu este erro: [/size]

DEBUG: JavaMail version 1.3

DEBUG: java.io.FileNotFoundException: C:j2sdk1.4.1jrelibjavamail.providers (O sistema não pode localizar o arquivo especificado)

DEBUG: URL jar:file:/C:/JPad/lib/pop3.jar!/META-INF/javamail.providers

DEBUG: successfully loaded resource: jar:file:/C:/JPad/lib/pop3.jar!/META-INF/javamail.providers

DEBUG: URL jar:file:/C:/JPad/lib/imap.jar!/META-INF/javamail.providers

DEBUG: successfully loaded resource: jar:file:/C:/JPad/lib/imap.jar!/META-INF/javamail.providers

DEBUG: URL jar:file:/C:/JPad/lib/smtp.jar!/META-INF/javamail.providers

DEBUG: successfully loaded resource: jar:file:/C:/JPad/lib/smtp.jar!/META-INF/javamail.providers

DEBUG: successfully loaded resource: /META-INF/javamail.default.providers

DEBUG: Tables of loaded providers

DEBUG: Providers Listed By Class Name: {com.sun.mail.smtp.SMTPTransport=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc], com.sun.mail.imap.IMAPStore=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc], com.sun.mail.pop3.POP3Store=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc]}

DEBUG: Providers Listed By Protocol: {imap=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc], pop3=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsy stems, Inc], smtp=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]}
DEBUG: successfully loaded resource: /META-INF/javamail.default.address.map

DEBUG: URL jar:file:/C:/JPad/lib/smtp.jar!/META-INF/javamail.address.map

DEBUG: successfully loaded resource: jar:file:/C:/JPad/lib/smtp.jar!/META-INF/javamail.address.map

DEBUG: java.io.FileNotFoundException: C:j2sdk1.4.1jrelibjavamail.address.map (O sistema não pode localizar o arquivo especificado)

DEBUG: setDebug: JavaMail version 1.3

java.lang.NoClassDefFoundError: javax/activation/DataSource

at msgsendsample.main(msgsendsample.java:83)

Exception in thread main Finished executing

9 Respostas

cv1

Faltou colocar o activation.jar no classpath. :wink:

O

eu coloquei…mas o erro persiste.

cv1

Entao ele nao esta no classpath da sua aplicacao… simples :wink:

Como esta o seu ambiente ai?

O

coloquei todos os .jar do mail em: c:j2se4.1jrelibext…
e retornou esse erro agora:

DEBUG: JavaMail version 1.3.1

DEBUG: java.io.FileNotFoundException: C:j2sdk1.4.1jrelibjavamail.providers (O sistema não pode localizar o arquivo especificado)

DEBUG: URL jar:file:/C:/j2sdk1.4.1/jre/lib/ext/imap.jar!/META-INF/javamail.providers

DEBUG: successfully loaded resource: jar:file:/C:/j2sdk1.4.1/jre/lib/ext/imap.jar!/META-INF/javamail.providers

DEBUG: URL jar:file:/C:/j2sdk1.4.1/jre/lib/ext/pop3.jar!/META-INF/javamail.providers

DEBUG: successfully loaded resource: jar:file:/C:/j2sdk1.4.1/jre/lib/ext/pop3.jar!/META-INF/javamail.providers

DEBUG: URL jar:file:/C:/j2sdk1.4.1/jre/lib/ext/smtp.jar!/META-INF/javamail.providers

DEBUG: successfully loaded resource: jar:file:/C:/j2sdk1.4.1/jre/lib/ext/smtp.jar!/META-INF/javamail.providers

DEBUG: URL jar:file:/C:/j2sdk1.4.1/jre/lib/ext/imap.jar!/META-INF/javamail.providers

DEBUG: successfully loaded resource: jar:file:/C:/j2sdk1.4.1/jre/lib/ext/imap.jar!/META-INF/javamail.providers

DEBUG: URL jar:file:/C:/j2sdk1.4.1/jre/lib/ext/pop3.jar!/META-INF/javamail.providers

DEBUG: successfully loaded resource: jar:file:/C:/j2sdk1.4.1/jre/lib/ext/pop3.jar!/META-INF/javamail.providers

DEBUG: URL jar:file:/C:/j2sdk1.4.1/jre/lib/ext/smtp.jar!/META-INF/javamail.providers

DEBUG: successfully loaded resource: jar:file:/C:/j2sdk1.4.1/jre/lib/ext/smtp.jar!/META-INF/javamail.providers

DEBUG: successfully loaded resource: /META-INF/javamail.default.providers

DEBUG: Tables of loaded providers

DEBUG: Providers Listed By Class Name: {com.sun.mail.smtp.SMTPTransport=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc], com.sun.mail.imap.IMAPStore=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc], com.sun.mail.pop3.POP3Store=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc]}
DEBUG: Providers Listed By Protocol: {imap=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc], pop3=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsy stems, Inc], smtp=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]}

DEBUG: successfully loaded resource: /META-INF/javamail.default.address.map

DEBUG: URL jar:file:/C:/j2sdk1.4.1/jre/lib/ext/smtp.jar!/META-INF/javamail.address.map

DEBUG: successfully loaded resource: jar:file:/C:/j2sdk1.4.1/jre/lib/ext/smtp.jar!/META-INF/javamail.address.map

DEBUG: URL jar:file:/C:/j2sdk1.4.1/jre/lib/ext/smtp.jar!/META-INF/javamail.address.map

DEBUG: successfully loaded resource: jar:file:/C:/j2sdk1.4.1/jre/lib/ext/smtp.jar!/META-INF/javamail.address.map

DEBUG: java.io.FileNotFoundException: C:j2sdk1.4.1jrelibjavamail.address.map (O sistema não pode localizar o arquivo especificado)

DEBUG: setDebug: JavaMail version 1.3.1

DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]

DEBUG SMTP: useEhlo true, useAuth false

DEBUG SMTP: trying to connect to host srvmail,, port 25

–Exception handling in msgsendsample.java

javax.mail.SendFailedException: Sending failed;

nested exception is:

class javax.mail.MessagingException: Unknown SMTP host: srvmail,;

nested exception is:

java.net.UnknownHostException: srvmail

at javax.mail.Transport.send0(Transport.java:218)

at javax.mail.Transport.send(Transport.java:80)

at msgsendsample.main(msgsendsample.java:93)

Finished executing
Daniel_Quirino_Olive

Dá uma olhada nisso: http://www.guj.com.br/servlet/guj?PARSE=true&MAMUTE_ACTION=br.com.guj.action.ListTutorial&MAMUTE_TEMPLATE=ShowTutorial&LIST_TUTORIAL=single&TutorialId=21&PAGE=1

O

Pessoal, to pra ficar doido…
nao envia nem a pau!!!

_fs

Bom cara, se você está ficando doido é melhor fechar a coisa toda e só voltar a ver depois do almoço … aposto que é alguma bobagenzinha que tá escapando :smiley: relaxe!

O

[color=“blue”]Galera é o seguinte, para os que utilizam o JavaMail encontrei esse carinha aqui : jscape[/color]

[b]utilizei, e funcionou filé !

olhem: www.jscape.com
[/b]

L

E ae galera!!!

Estou tendo como erro um Invalid Protocol: null, quando executo a seguinte classe:

public class Mail {

	public static void sendException() {
		try {
			Properties props = new Properties();
			props.put("mail.host",	"MEU_SERVIDOR");
			Session session = Session.getInstance(props);
			MimeMessage message = new MimeMessage(session);
			message.setFrom(new InternetAddress("[email removido]"));
			javax.mail.Address [] toAddress = { new InternetAddress("[email removido]") };
			//message.addRecipient(javax.mail.Message.RecipientType.TO, toAddress);
			message.setSubject("Assunto");
			message.setText("Teste");

			//Transport.send(message);
			Transport transport = session.getTransport();
			transport.connect("MEU_SERVIDOR", "USUARIO", "SENHA");
			transport.sendMessage(message, toAddress);
		} catch (MessagingException e) {
			System.out.println(e.getMessage());
			e.printStackTrace();
		}
	}

	public static void main(String[] args) {
		sendException();
	}

}

O erro:

javax.mail.NoSuchProviderException: Invalid protocol: null
	at javax.mail.Session.getProvider(Session.java:265)
	at javax.mail.Session.getTransport(Session.java:483)
	at javax.mail.Session.getTransport(Session.java:464)
	at javax.mail.Session.getTransport(Session.java:450)
	at br.srv.getnet.util.mail.Mail.sendException(Mail.java:38)
	at br.srv.getnet.util.mail.Mail.main(Mail.java:48)

Resolvi ocupar este mesmo tópico, já que se refere ao uso do Javamail.

Não quero utilizar a solução proposto pelo ozorro, porém, não sei no que estou pecando.

Se alguém tiver idéia de como posso solucionar, por favor poste aí.

Criado 27 de novembro de 2003
Ultima resposta 4 de mar. de 2005
Respostas 9
Participantes 5