本文整理汇总了Java中org.apache.commons.net.smtp.SMTPClient.setSender方法的典型用法代码示例。如果您正苦于以下问题:Java SMTPClient.setSender方法的具体用法?Java SMTPClient.setSender怎么用?Java SMTPClient.setSender使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.commons.net.smtp.SMTPClient
的用法示例。
在下文中一共展示了SMTPClient.setSender方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: testAuthWithEmptySender
import org.apache.commons.net.smtp.SMTPClient; //导入方法依赖的package包/类
public void testAuthWithEmptySender() throws Exception {
m_testConfiguration.setAuthorizedAddresses("128.0.0.1/8");
m_testConfiguration.setAuthorizingAnnounce();
finishSetUp(m_testConfiguration);
SMTPClient smtpProtocol = new SMTPClient();
smtpProtocol.connect("127.0.0.1", m_smtpListenerPort);
smtpProtocol.sendCommand("ehlo " + InetAddress.getLocalHost());
String userName = "test_user_smtp";
m_usersRepository.addUser(userName, "pwd");
smtpProtocol.setSender("");
smtpProtocol.sendCommand("AUTH PLAIN");
smtpProtocol.sendCommand(Base64.encodeAsString("\0" + userName + "\0pwd\0"));
assertEquals("authenticated", 235, smtpProtocol.getReplyCode());
smtpProtocol.addRecipient("[email protected]");
assertEquals("expected error", 503, smtpProtocol.getReplyCode());
smtpProtocol.quit();
}
示例2: processEnvelope
import org.apache.commons.net.smtp.SMTPClient; //导入方法依赖的package包/类
private Set<String> processEnvelope(SMTPClient smtpClient) throws IOException {
smtpClient.setSender(this.mailFrom);
this.debug(smtpClient);
Set<String> failReceivers = new HashSet<>();
for (String receiver : this.rcptTos) {
if (!smtpClient.addRecipient(receiver)) {
failReceivers.add(receiver);
}
this.debug(smtpClient);
}
return failReceivers;
}
示例3: testSimpleMailSendWithEHLO
import org.apache.commons.net.smtp.SMTPClient; //导入方法依赖的package包/类
public void testSimpleMailSendWithEHLO() throws Exception {
finishSetUp(m_testConfiguration);
SMTPClient smtpProtocol = new SMTPClient();
smtpProtocol.connect("127.0.0.1", m_smtpListenerPort);
// no message there, yet
assertNull("no mail received by mail server", queue.getLastMail());
smtpProtocol.sendCommand("EHLO " + InetAddress.getLocalHost());
String[] capabilityRes = smtpProtocol.getReplyStrings();
List<String> capabilitieslist = new ArrayList<String>();
for (int i = 1; i < capabilityRes.length; i++) {
capabilitieslist.add(capabilityRes[i].substring(4));
}
assertEquals("capabilities", 3, capabilitieslist.size());
assertTrue("capabilities present PIPELINING", capabilitieslist.contains("PIPELINING"));
assertTrue("capabilities present ENHANCEDSTATUSCODES", capabilitieslist.contains("ENHANCEDSTATUSCODES"));
assertTrue("capabilities present 8BITMIME", capabilitieslist.contains("8BITMIME"));
smtpProtocol.setSender("[email protected]");
smtpProtocol.addRecipient("[email protected]");
smtpProtocol.sendShortMessageData("Subject: test\r\n\r\nBody\r\n\r\n.\r\n");
smtpProtocol.quit();
smtpProtocol.disconnect();
// mail was propagated by SMTPServer
assertNotNull("mail received by mail server", queue.getLastMail());
}
示例4: testTwoSimultaneousMails
import org.apache.commons.net.smtp.SMTPClient; //导入方法依赖的package包/类
public void testTwoSimultaneousMails() throws Exception {
finishSetUp(m_testConfiguration);
SMTPClient smtpProtocol1 = new SMTPClient();
smtpProtocol1.connect("127.0.0.1", m_smtpListenerPort);
SMTPClient smtpProtocol2 = new SMTPClient();
smtpProtocol2.connect("127.0.0.1", m_smtpListenerPort);
assertTrue("first connection taken", smtpProtocol1.isConnected());
assertTrue("second connection taken", smtpProtocol2.isConnected());
// no message there, yet
assertNull("no mail received by mail server", queue.getLastMail());
smtpProtocol1.helo(InetAddress.getLocalHost().toString());
smtpProtocol2.helo(InetAddress.getLocalHost().toString());
String sender1 = "[email protected]";
String recipient1 = "[email protected]";
smtpProtocol1.setSender(sender1);
smtpProtocol1.addRecipient(recipient1);
String sender2 = "[email protected]";
String recipient2 = "[email protected]";
smtpProtocol2.setSender(sender2);
smtpProtocol2.addRecipient(recipient2);
smtpProtocol1.sendShortMessageData("Subject: test\r\n\r\nTest body testTwoSimultaneousMails1\r\n.\r\n");
verifyLastMail(sender1, recipient1, null);
smtpProtocol2.sendShortMessageData("Subject: test\r\n\r\nTest body testTwoSimultaneousMails2\r\n.\r\n");
verifyLastMail(sender2, recipient2, null);
smtpProtocol1.quit();
smtpProtocol2.quit();
smtpProtocol1.disconnect();
smtpProtocol2.disconnect();
}
示例5: testTwoMailsInSequence
import org.apache.commons.net.smtp.SMTPClient; //导入方法依赖的package包/类
public void testTwoMailsInSequence() throws Exception {
finishSetUp(m_testConfiguration);
SMTPClient smtpProtocol1 = new SMTPClient();
smtpProtocol1.connect("127.0.0.1", m_smtpListenerPort);
assertTrue("first connection taken", smtpProtocol1.isConnected());
// no message there, yet
assertNull("no mail received by mail server", queue.getLastMail());
smtpProtocol1.helo(InetAddress.getLocalHost().toString());
String sender1 = "[email protected]";
String recipient1 = "[email protected]";
smtpProtocol1.setSender(sender1);
smtpProtocol1.addRecipient(recipient1);
smtpProtocol1.sendShortMessageData("Subject: test\r\n\r\nTest body testTwoMailsInSequence1\r\n");
verifyLastMail(sender1, recipient1, null);
String sender2 = "[email protected]";
String recipient2 = "[email protected]";
smtpProtocol1.setSender(sender2);
smtpProtocol1.addRecipient(recipient2);
smtpProtocol1.sendShortMessageData("Subject: test2\r\n\r\nTest body2 testTwoMailsInSequence2\r\n");
verifyLastMail(sender2, recipient2, null);
smtpProtocol1.quit();
smtpProtocol1.disconnect();
}
示例6: doTestHeloEhloResolv
import org.apache.commons.net.smtp.SMTPClient; //导入方法依赖的package包/类
private void doTestHeloEhloResolv(String heloCommand) throws IOException {
SMTPClient smtpProtocol = new SMTPClient();
smtpProtocol.connect("127.0.0.1", m_smtpListenerPort);
assertTrue("first connection taken", smtpProtocol.isConnected());
// no message there, yet
assertNull("no mail received by mail server", queue.getLastMail());
String fictionalDomain = "abgsfe3rsf.de";
String existingDomain = "james.apache.org";
String mail = "[email protected]";
String rcpt = "[email protected]";
smtpProtocol.sendCommand(heloCommand, fictionalDomain);
smtpProtocol.setSender(mail);
smtpProtocol.addRecipient(rcpt);
// this should give a 501 code cause the helo/ehlo could not resolved
assertEquals("expected error: " + heloCommand + " could not resolved", 501, smtpProtocol.getReplyCode());
smtpProtocol.sendCommand(heloCommand, existingDomain);
smtpProtocol.setSender(mail);
smtpProtocol.addRecipient(rcpt);
if (smtpProtocol.getReplyCode() == 501) {
fail(existingDomain + " domain currently cannot be resolved (check your DNS/internet connection/proxy settings to make test pass)");
}
// helo/ehlo is resolvable. so this should give a 250 code
assertEquals(heloCommand + " accepted", 250, smtpProtocol.getReplyCode());
smtpProtocol.quit();
}
示例7: testHandleMessageSizeLimitExceeded
import org.apache.commons.net.smtp.SMTPClient; //导入方法依赖的package包/类
public void testHandleMessageSizeLimitExceeded() throws Exception {
m_testConfiguration.setMaxMessageSize(1); // set message limit to 1kb
finishSetUp(m_testConfiguration);
SMTPClient smtpProtocol = new SMTPClient();
smtpProtocol.connect("127.0.0.1", m_smtpListenerPort);
smtpProtocol.sendCommand("ehlo " + InetAddress.getLocalHost());
smtpProtocol.setSender("[email protected]");
smtpProtocol.addRecipient("[email protected]");
Writer wr = smtpProtocol.sendMessageData();
// create Body with more than 1kb . 502
wr.write("1234567810123456782012345678301234567840123456785012345678601234567870123456788012345678901234567100");
wr.write("1234567810123456782012345678301234567840123456785012345678601234567870123456788012345678901234567100");
wr.write("1234567810123456782012345678301234567840123456785012345678601234567870123456788012345678901234567100");
wr.write("1234567810123456782012345678301234567840123456785012345678601234567870123456788012345678901234567100");
wr.write("1234567810123456782012345678301234567840123456785012345678601234567870123456788012345678901234567100\r\n");
// second line
wr.write("1234567810123456782012345678301234567840123456785012345678601234567870123456788012345678901234567100");
wr.write("1234567810123456782012345678301234567840123456785012345678601234567870123456788012345678901234567100");
wr.write("1234567810123456782012345678301234567840123456785012345678601234567870123456788012345678901234567100");
wr.write("1234567810123456782012345678301234567840123456785012345678601234567870123456788012345678901234567100");
wr.write("1234567810123456782012345678301234567840123456785012345678601234567870123456788012345678901234567100");
wr.write("123456781012345678201\r\n"); // 521 + CRLF = 523 + 502 => 1025
wr.close();
assertFalse(smtpProtocol.completePendingCommand());
assertEquals("expected 552 error", 552, smtpProtocol.getReplyCode());
}
示例8: testHandleMessageSizeLimitRespected
import org.apache.commons.net.smtp.SMTPClient; //导入方法依赖的package包/类
public void testHandleMessageSizeLimitRespected() throws Exception {
m_testConfiguration.setMaxMessageSize(1); // set message limit to 1kb
finishSetUp(m_testConfiguration);
SMTPClient smtpProtocol = new SMTPClient();
smtpProtocol.connect("127.0.0.1", m_smtpListenerPort);
smtpProtocol.sendCommand("ehlo " + InetAddress.getLocalHost());
smtpProtocol.setSender("[email protected]");
smtpProtocol.addRecipient("[email protected]");
Writer wr = smtpProtocol.sendMessageData();
// create Body with less than 1kb
wr.write("1234567810123456782012345678301234567840123456785012345678601234567870123456788012345678901234567100");
wr.write("1234567810123456782012345678301234567840123456785012345678601234567870123456788012345678901234567100");
wr.write("1234567810123456782012345678301234567840123456785012345678601234567870123456788012345678901234567100");
wr.write("1234567810123456782012345678301234567840123456785012345678601234567870123456788012345678901234567100");
wr.write("1234567810123456782012345678301234567840123456785012345678601234567870123456788012345678901234567100");
wr.write("1234567810123456782012345678301234567840123456785012345678601234567870123456788012345678901234567100");
wr.write("1234567810123456782012345678301234567840123456785012345678601234567870123456788012345678901234567100");
wr.write("1234567810123456782012345678301234567840123456785012345678601234567870123456788012345678901234567100");
wr.write("1234567810123456782012345678301234567840123456785012345678601234567870123456788012345678901234567100");
wr.write("1234567810123456782012345678301234567840123456785012345678601234567870123456788012345678901234567100");
wr.write("1234567810123456782012\r\n"); // 1022 + CRLF = 1024
wr.close();
assertTrue(smtpProtocol.completePendingCommand());
assertEquals("expected 250 ok", 250, smtpProtocol.getReplyCode());
}
示例9: testRelayingDenied
import org.apache.commons.net.smtp.SMTPClient; //导入方法依赖的package包/类
public void testRelayingDenied() throws Exception {
m_testConfiguration.setAuthorizedAddresses("128.0.0.1/8");
finishSetUp(m_testConfiguration);
SMTPClient smtpProtocol = new SMTPClient();
smtpProtocol.connect("127.0.0.1", m_smtpListenerPort);
smtpProtocol.sendCommand("ehlo " + InetAddress.getLocalHost());
smtpProtocol.setSender("[email protected]");
smtpProtocol.addRecipient("[email protected]");
assertEquals("expected 550 error", 550, smtpProtocol.getReplyCode());
}
示例10: send
import org.apache.commons.net.smtp.SMTPClient; //导入方法依赖的package包/类
@Override
public void send(
final Address from,
Collection<Address> rcpt,
final Map<String, EmailHeader> callerHeaders,
String textBody,
@Nullable String htmlBody)
throws EmailException {
if (!isEnabled()) {
throw new EmailException("Sending email is disabled");
}
StringBuffer rejected = new StringBuffer();
try {
final SMTPClient client = open();
try {
if (!client.setSender(from.getEmail())) {
throw new EmailException(
"Server " + smtpHost + " rejected from address " + from.getEmail());
}
/* Do not prevent the email from being sent to "good" users simply
* because some users get rejected. If not, a single rejected
* project watcher could prevent email for most actions on a project
* from being sent to any user! Instead, queue up the errors, and
* throw an exception after sending the email to get the rejected
* error(s) logged.
*/
for (Address addr : rcpt) {
if (!client.addRecipient(addr.getEmail())) {
String error = client.getReplyString();
rejected
.append("Server ")
.append(smtpHost)
.append(" rejected recipient ")
.append(addr)
.append(": ")
.append(error);
}
}
Writer messageDataWriter = client.sendMessageData();
if (messageDataWriter == null) {
/* Include rejected recipient error messages here to not lose that
* information. That piece of the puzzle is vital if zero recipients
* are accepted and the server consequently rejects the DATA command.
*/
throw new EmailException(
rejected
+ "Server "
+ smtpHost
+ " rejected DATA command: "
+ client.getReplyString());
}
render(messageDataWriter, callerHeaders, textBody, htmlBody);
if (!client.completePendingCommand()) {
throw new EmailException(
"Server " + smtpHost + " rejected message body: " + client.getReplyString());
}
client.logout();
if (rejected.length() > 0) {
throw new EmailException(rejected.toString());
}
} finally {
client.disconnect();
}
} catch (IOException e) {
throw new EmailException("Cannot send outgoing email", e);
}
}
示例11: testReverseEqualsHelo
import org.apache.commons.net.smtp.SMTPClient; //导入方法依赖的package包/类
public void testReverseEqualsHelo() throws Exception {
m_testConfiguration.setReverseEqualsHelo();
m_testConfiguration.setAuthorizedAddresses("192.168.0.1");
// temporary alter the loopback resolution
try {
m_dnsServer.setLocalhostByName(InetAddress.getByName("james.apache.org"));
} catch (UnknownHostException e) {
fail("james.apache.org currently cannot be resolved (check your DNS/internet connection/proxy settings to make test pass)");
}
try {
finishSetUp(m_testConfiguration);
SMTPClient smtpProtocol1 = new SMTPClient();
smtpProtocol1.connect("127.0.0.1", m_smtpListenerPort);
assertTrue("first connection taken", smtpProtocol1.isConnected());
// no message there, yet
assertNull("no mail received by mail server", queue.getLastMail());
String helo1 = "abgsfe3rsf.de";
String helo2 = "james.apache.org";
String mail = "sender";
String rcpt = "recipient";
smtpProtocol1.sendCommand("helo", helo1);
smtpProtocol1.setSender(mail);
smtpProtocol1.addRecipient(rcpt);
// this should give a 501 code cause the helo not equal reverse of
// ip
assertEquals("expected error: helo not equals reverse of ip", 501, smtpProtocol1.getReplyCode());
smtpProtocol1.sendCommand("helo", helo2);
smtpProtocol1.setSender(mail);
smtpProtocol1.addRecipient(rcpt);
// helo is resolvable. so this should give a 250 code
assertEquals("Helo accepted", 250, smtpProtocol1.getReplyCode());
smtpProtocol1.quit();
} finally {
m_dnsServer.setLocalhostByName(null);
}
}
示例12: testSenderDomainResolv
import org.apache.commons.net.smtp.SMTPClient; //导入方法依赖的package包/类
public void testSenderDomainResolv() throws Exception {
m_testConfiguration.setSenderDomainResolv();
m_testConfiguration.setAuthorizedAddresses("192.168.0.1/32");
finishSetUp(m_testConfiguration);
SMTPClient smtpProtocol1 = new SMTPClient();
smtpProtocol1.connect("127.0.0.1", m_smtpListenerPort);
assertTrue("first connection taken", smtpProtocol1.isConnected());
// no message there, yet
assertNull("no mail received by mail server", queue.getLastMail());
smtpProtocol1.helo(InetAddress.getLocalHost().toString());
String sender1 = "[email protected]";
smtpProtocol1.setSender(sender1);
assertEquals("expected 501 error", 501, smtpProtocol1.getReplyCode());
smtpProtocol1.addRecipient("[email protected]");
assertEquals("Recipient not accepted cause no valid sender", 503, smtpProtocol1.getReplyCode());
smtpProtocol1.quit();
}
示例13: testDNSRBLNotRejectAuthUser
import org.apache.commons.net.smtp.SMTPClient; //导入方法依赖的package包/类
public void testDNSRBLNotRejectAuthUser() throws Exception {
m_testConfiguration.setAuthorizedAddresses("192.168.0.1/32");
m_testConfiguration.setAuthorizingAnnounce();
m_testConfiguration.useRBL(true);
finishSetUp(m_testConfiguration);
m_dnsServer.setLocalhostByName(InetAddress.getByName("127.0.0.1"));
SMTPClient smtpProtocol = new SMTPClient();
smtpProtocol.connect("127.0.0.1", m_smtpListenerPort);
smtpProtocol.sendCommand("ehlo", InetAddress.getLocalHost().toString());
String[] capabilityRes = smtpProtocol.getReplyStrings();
List<String> capabilitieslist = new ArrayList<String>();
for (int i = 1; i < capabilityRes.length; i++) {
capabilitieslist.add(capabilityRes[i].substring(4));
}
assertTrue("anouncing auth required", capabilitieslist.contains("AUTH LOGIN PLAIN"));
// is this required or just for compatibility? assertTrue("anouncing
// auth required", capabilitieslist.contains("AUTH=LOGIN PLAIN"));
String userName = "test_user_smtp";
String sender = "[email protected]";
smtpProtocol.setSender(sender);
m_usersRepository.addUser(userName, "pwd");
smtpProtocol.sendCommand("AUTH PLAIN");
smtpProtocol.sendCommand(Base64.encodeAsString("\0" + userName + "\0pwd\0"));
assertEquals("authenticated", 235, smtpProtocol.getReplyCode());
smtpProtocol.addRecipient("[email protected]");
assertEquals("authenticated.. not reject", 250, smtpProtocol.getReplyCode());
smtpProtocol.sendShortMessageData("Subject: test\r\n\r\nTest body testDNSRBLNotRejectAuthUser\r\n");
smtpProtocol.quit();
// mail was propagated by SMTPServer
assertNotNull("mail received by mail server", queue.getLastMail());
}
示例14: testSenderDomainResolvRelayClient
import org.apache.commons.net.smtp.SMTPClient; //导入方法依赖的package包/类
public void testSenderDomainResolvRelayClient() throws Exception {
m_testConfiguration.setSenderDomainResolv();
m_testConfiguration.setCheckAuthNetworks(true);
finishSetUp(m_testConfiguration);
SMTPClient smtpProtocol1 = new SMTPClient();
smtpProtocol1.connect("127.0.0.1", m_smtpListenerPort);
assertTrue("first connection taken", smtpProtocol1.isConnected());
// no message there, yet
assertNull("no mail received by mail server", queue.getLastMail());
smtpProtocol1.helo(InetAddress.getLocalHost().toString());
String sender1 = "[email protected]";
String sender2 = "[email protected]";
smtpProtocol1.setSender(sender1);
assertEquals("expected 501 error", 501, smtpProtocol1.getReplyCode());
smtpProtocol1.setSender(sender2);
smtpProtocol1.quit();
}
示例15: testMaxRcptDefault
import org.apache.commons.net.smtp.SMTPClient; //导入方法依赖的package包/类
public void testMaxRcptDefault() throws Exception {
finishSetUp(m_testConfiguration);
SMTPClient smtpProtocol1 = new SMTPClient();
smtpProtocol1.connect("127.0.0.1", m_smtpListenerPort);
smtpProtocol1.helo(InetAddress.getLocalHost().toString());
String sender1 = "[email protected]";
String rcpt1 = "[email protected]";
smtpProtocol1.setSender(sender1);
smtpProtocol1.addRecipient(rcpt1);
smtpProtocol1.sendShortMessageData("Subject: test\r\n\r\nTest body testMaxRcptDefault\r\n");
smtpProtocol1.quit();
}