Здравствуйте, пишу программу которая будет отправлять сообщение на почтовый ящик по SMTP, вот что я написал:
package smtpsender;
import java.io.IOException;
import java.io.Writer;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.security.spec.InvalidKeySpecException;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.apache.commons.net.smtp.AuthenticatingSMTPClient;
import org.apache.commons.net.smtp.SimpleSMTPHeader;
public class SMTPSender {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
try {
AuthenticatingSMTPClient smtpAuth = new AuthenticatingSMTPClient();
smtpAuth.connect("host", 587);
System.out.println(smtpAuth.getReplyString());
smtpAuth.login("domen.ru");
System.out.println(smtpAuth.getReplyString());
smtpAuth.auth(AuthenticatingSMTPClient.AUTH_METHOD.LOGIN, "web@domen.ru", "pass");
System.out.println(smtpAuth.getReplyString());
smtpAuth.setSender("web@domen.ru");
System.out.println(smtpAuth.getReplyString());
smtpAuth.addRecipient("ivan@domen.ru");
System.out.println(smtpAuth.getReplyString());
Writer writer = smtpAuth.sendMessageData();
System.out.println(smtpAuth.getReplyString());
SimpleSMTPHeader header = new SimpleSMTPHeader("web@domen.ru", "ivan@domen.ru", "Тестовый заголовок письма");
header.addHeaderField("Content-type", "text/plain; charset=utf-8");
writer.write(header.toString());
writer.write("Привет, как дела?");
writer.close();
smtpAuth.completePendingCommand();
System.out.println(smtpAuth.getReplyString());
} catch (NoSuchAlgorithmException ex) {
Logger.getLogger(SMTPSender.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(SMTPSender.class.getName()).log(Level.SEVERE, null, ex);
} catch (InvalidKeyException ex) {
Logger.getLogger(SMTPSender.class.getName()).log(Level.SEVERE, null, ex);
} catch (InvalidKeySpecException ex) {
Logger.getLogger(SMTPSender.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
Программа письмо пишет, оно приходит, только вместо русских символов появляются вопросительные знаки, в чем может быть проблема?
Заранее большое спасибо!