人気の面接質問と回答・オンラインテスト
面接対策、オンラインテスト、チュートリアル、ライブ練習のための学習プラットフォーム

集中型学習パス、模擬テスト、面接向けコンテンツでスキルを伸ばしましょう。

WithoutBook は、分野別の面接質問、オンライン練習テスト、チュートリアル、比較ガイドをひとつのレスポンシブな学習空間にまとめています。

面接準備

Java Mail 面接の質問と回答

質問 11. Sample code for java mail api with attachment.

String SMTP_HOST_NAME = "mail.domain.com";
String SMTP_PORT = "25";

String SMTP_FROM_ADDRESS="xxx@domain.com";
String SMTP_TO_ADDRESS="yyy@domain.com";
String subject="Textmsg";
String fileAttachment = "C:\filename.pdf";

Properties props = new Properties();

props.put("mail.smtp.host", SMTP_HOST_NAME);
props.put("mail.smtp.auth", "true");
props.put("mail.debug", "true");
props.put("mail.smtp.port", SMTP_PORT );
Session session = Session.getInstance(props,new javax.mail.Authenticator()
{protected javax.mail.PasswordAuthentication
getPasswordAuthentication()
{return new javax.mail.PasswordAuthentication("xxxx@domain.com","password");}});
try{

Message msg = new MimeMessage(session);

msg.setFrom(new InternetAddress(SMTP_FROM_ADDRESS));
// create the message part
MimeBodyPart messageBodyPart =
new MimeBodyPart();
//fill message
messageBodyPart.setText("Test mail one");
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(messageBodyPart);
// Part two is attachment
messageBodyPart = new MimeBodyPart();
DataSource source =
new FileDataSource(fileAttachment);
messageBodyPart.setDataHandler(
new DataHandler(source));
messageBodyPart.setFileName(fileAttachment);
multipart.addBodyPart(messageBodyPart);
// Put parts in message
msg.setContent(multipart);


msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(SMTP_TO_ADDRESS));

msg.setSubject(subject);
// msg.setContent(content, "text/plain");

Transport.send(msg);
System.out.println("success....................................");
}
catch(Exception e){
e.printStackTrace();
}

役に立ちましたか? コメントを追加 コメントを見る
 

質問 12. Sample code to send email using GMAIL SMTP.

Here are two examples to show you how to use JavaMail API method to send an email via Gmail SMTP server, using both TLS and SSL connection.

To run this example, you need two dependency libraries – javaee.jar and mail.jar, both are bundle in JavaEE SDK.

Outgoing Mail (SMTP) Server
requires TLS or SSL: smtp.gmail.com (use authentication)
Use Authentication: Yes
Port for TLS/STARTTLS: 587
Port for SSL: 465

GMail SMTP detail here – http://mail.google.com/support/bin/answer.py?hl=en&answer=13287

Send an Email via Gmail SMTP server using TLS connection:

package com.withoutbook.common;

import java.util.Properties;

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

public class SendMailTLS {

public static void main(String[] args) {

final String username = "username@gmail.com";
final String password = "password";

Properties props = new Properties();
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.port", "587");

Session session = Session.getInstance(props,
new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
});

try {

Message message = new MimeMessage(session);
message.setFrom(new InternetAddress("from-email@gmail.com"));
message.setRecipients(Message.RecipientType.TO,
InternetAddress.parse("to-email@gmail.com"));
message.setSubject("Testing Subject");
message.setText("Dear Mail Crawler,"
+ "nn No spam to my email, please!");

Transport.send(message);

System.out.println("Done");

} catch (MessagingException e) {
throw new RuntimeException(e);
}
}
}



Send an Email via Gmail SMTP server using SSL connection:

package com.withoutbook.common;

import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class SendMailSSL {
public static void main(String[] args) {
Properties props = new Properties();
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.socketFactory.port", "465");
props.put("mail.smtp.socketFactory.class",
"javax.net.ssl.SSLSocketFactory");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.port", "465");

Session session = Session.getDefaultInstance(props,
new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("username","password");
}
});

try {

Message message = new MimeMessage(session);
message.setFrom(new InternetAddress("from@no-spam.com"));
message.setRecipients(Message.RecipientType.TO,
InternetAddress.parse("to@no-spam.com"));
message.setSubject("Testing Subject");
message.setText("Dear Mail Crawler," +
"nn No spam to my email, please!");

Transport.send(message);

System.out.println("Done");

} catch (MessagingException e) {
throw new RuntimeException(e);
}
}
}


Exception like:

java.net.UnknownHostException: smtp.gmail.com
Some hit the UnknownHostException: smtp.gmail.com, try ping smtp.gmail.com and make sure you got a response (able to access). Often times, your connection may block by your firewall or proxy behind.

役に立ちましたか? コメントを追加 コメントを見る
 

質問 13. What is Session in JavaMail api?

Session is the top-level entry class representing mail session. It uses java.util.Properties object to get information about mail server, username, password etc. This class has a private constructor and you can get session objects through getInstance() and getDefaultInstance() methods. getDefaultInstance() method provides default Session object which takes Properties and Authenticator objects as arguments.

Properties props = new Properties();
Session session = Session.getDefaultInstance(props, null);


Or create a unique session by getInstance() method…

Properties props = new Properties();
Session session = Session.getInstance(props, null);

役に立ちましたか? コメントを追加 コメントを見る
 

質問 14. What is Message in JavaMail api?

After creating session object, create message to send by using Message class. Because of message class is abstract class so we will use subclass javax.mail.internet.MimeMessage.

MimeMessage message = new MimeMessage(session)
// set the content of message by setContent() method
message.setContent(“www.roseindia.net”, "text/plain");

We can also use setText() method to set the content.

Message.setText("www.roseindia.net");

To create subject line of sending message use setSubject() method.

役に立ちましたか? コメントを追加 コメントを見る
 

質問 15. What is Address in JavaMail api?

Now we will define address, Address class is also an abstract class so we will use here class javax.mail.internet.InternetAddress.

Address address = new InternetAddress("arindam@withoutbook.com");

To display a name next to the Email Address use one more argument for name.

Address address = new InternetAddress("arindam@withoutbook.com", "Arindam");

After creating address connect with message by two ways:


1: By setFrom()method: message.setFrom(address);
1: By setReplyTo()method: When want to send reply

to more addresses.
Address address[] = ...;
Message.setReplyTo(address[]);

To identify the recipient, add the recipients by using addRecipient() method….

message.addRecipient(type, address);

Address types are of three types:
1. Message.RecipientType.TO: primary recipient
2. Message.RecipientType.CC: carbon copy
3. Message.RecipientType.BCC: blind carbon copy

役に立ちましたか? コメントを追加 コメントを見る
 

ユーザー評価で最も役立つ内容:

著作権 © 2026、WithoutBook。