Как установить «почту от» и «конверт от» в Java (версия 1.7)JAVA

Программисты JAVA общаются здесь
Anonymous
Как установить «почту от» и «конверт от» в Java (версия 1.7)

Сообщение Anonymous »

Я пробовал отправлять почту на Java.
  • OS X
    используйте версию 1.7< /li>
Мой клиент использовал контактную форму.

Мой клиент надеется, что изменится «почта». from».
Это «электронная почта пользователя», отправленная из «контактной формы». (Это подмена почты. Но это не проблема. Потому что отправка с сервера клиента на почтовый сервер клиента.)

Но я понятия не имею, что устанавливает конверт из Java.

Я попробовал код Java ниже.

Код: Выделить всё

import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

private static void sendMail() throws Exception {
String smtpServer  = "hogehoge.smtp.server.com";
int port           = "587";
String userid      = "from@gmail.com";
String password    = "password";
String contentType = "text/plain";
String subject     = "Test Subject";
String from        = "from@gmail.com";
String to          = "to@gmail.com";
String bounceAddr  = "from@gmail.com";
String body        = "send mail";

Properties props   = new Properties();

props.put("mail.transport.protocol", "smtp");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable","true");
props.put("mail.smtp.host", smtpServer);
props.put("mail.smtp.from", bounceAddr);

Session mailSession = Session.getInstance(props);
mailSession.setDebug(true);

MimeMessage message = new MimeMessage(mailSession);
message.addFrom(InternetAddress.parse(from));
message.setRecipients(Message.RecipientType.TO, to);
message.setSubject(subject);
message.setContent(body, contentType);

Transport transport = mailSession.getTransport();
try{
System.out.println("Sending ....");
transport.connect(smtpServer, port, userid, password);
transport.sendMessage(message,message.getRecipients(Message.RecipientType.TO));
System.out.println("Sending done ...");
}
catch(Exception e) {
System.err.println("Error Sending: ");
e.printStackTrace();
}
transport.close();
}
Я думаю, что обычно это код.

Но у меня возникла ошибка.


503 не ваш домен (#5.5.1)


Вероятно установлено «Почта от», которая не регистрирует адрес электронной почты с почтового сервера клиента.

Итак, я тоже попробовал telnet, использующий терминал.

Код: Выделить всё

$ printf "%s\0%s\0%s" from@gmail.com from@gmail.com password | openssl base64 -e | tr -d '\n'; echo
ZnJvbUBnbWFpbC5jb20AZnJvbUBnbWFpbC5jb20AcGFzc3dvcmQ=

$ telnet hogehoge.smtp.server.com 587
Trying xxx.xxx.xxx.xxx...
Connected to hogehoge.smtp.server.com
Escape character is '^]'.
220 smtp.server.com ESMTP
EHLO localhost // my type

250-smtp.server.com
...
250 AUTH LOGIN PLAIN CRAM-MD5
AUTH PLAIN ZnJvbUBnbWFpbC5jb20AZnJvbUBnbWFpbC5jb20AcGFzc3dvcmQ= // my type
235 ok, go ahead (#2.0.0)

MAIL FROM: // my type
250 ok

RCPT TO: // my type
250 ok

DATA // my type
354 go ahead

subject:Test Mail                 // my type
from:User Mail   // my type. set envelope from mail address.
to:to@gmail.com                   // my type
// my type
send mail.                        // my type
.                                 // my type
250 ok 1481706367 qp 12070

quit // my type
221 smtp.server.com
Connection closed by foreign host.
Это успешно.

Как установить конверт из Java, как в случае с telnet выше.

Спасибо за любую помощь.

Подробнее здесь: https://stackoverflow.com/questions/411 ... ersion-1-7

Вернуться в «JAVA»