Author: sebb
Date: Fri Jul 2 16:22:06 2010
New Revision: 960047
URL: http://svn.apache.org/viewvc?rev=960047&view=rev
Log:
Allow SMTP port to be defaulted
Modified:
jakarta/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
jakarta/jmeter/trunk/src/protocol/mail/org/apache/jmeter/protocol/smtp/sampler/protocol/SendMailCommand.java
jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml
Modified:
jakarta/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties?rev=960047&r1=960046&r2=960047&view=diff
==============================================================================
---
jakarta/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
(original)
+++
jakarta/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
Fri Jul 2 16:22:06 2010
@@ -795,7 +795,7 @@ smtp_attach_file_tooltip=Separate multip
smtp_auth_settings=Auth settings
smtp_bcc=Address To BCC:
smtp_cc=Address To CC:
-smtp_default_port=(Default: 25)
+smtp_default_port=(Defaults: SMTP:25, SSL:465, StartTLS:587)
smtp_eml=Send .eml:
smtp_enforcestarttls=Enforce StartTLS
smtp_enforcestarttls_tooltip=<html><b>Enforces</b> the server to use
StartTLS.<br />If not selected and the SMTP-Server doesn't support StartTLS,
<br />a normal SMTP-Connection will be used as fallback instead. <br
/><i>Please note</i> that this checkbox creates a file in \"/tmp/\", <br />so
this will cause problems under windows.</html>
Modified:
jakarta/jmeter/trunk/src/protocol/mail/org/apache/jmeter/protocol/smtp/sampler/protocol/SendMailCommand.java
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/mail/org/apache/jmeter/protocol/smtp/sampler/protocol/SendMailCommand.java?rev=960047&r1=960046&r2=960047&view=diff
==============================================================================
---
jakarta/jmeter/trunk/src/protocol/mail/org/apache/jmeter/protocol/smtp/sampler/protocol/SendMailCommand.java
(original)
+++
jakarta/jmeter/trunk/src/protocol/mail/org/apache/jmeter/protocol/smtp/sampler/protocol/SendMailCommand.java
Fri Jul 2 16:22:06 2010
@@ -26,7 +26,6 @@ import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
-import java.security.Security;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -76,7 +75,7 @@ public class SendMailCommand {
private List<InternetAddress> receiverTo;
private List<InternetAddress> receiverCC;
private List<InternetAddress> receiverBCC;
- private HashMap<String, String> headers;
+ private HashMap<String, String> headers; // Not currently set up
private String subject = "";
private boolean useAuthentication = false;
@@ -126,17 +125,16 @@ public class SendMailCommand {
// set properties using JAF
props.put("mail." + protocol + ".host", smtpServer);
- props.put("mail." + protocol + ".port", smtpPort);
- props.put("mail." + protocol + ".auth", Boolean
- .toString(useAuthentication));
- // props.put("mail.debug","true");
+ props.put("mail." + protocol + ".port", getPort());
+ props.put("mail." + protocol + ".auth",
Boolean.toString(useAuthentication));
+// props.put("mail.debug","true");
if (useStartTLS) {
props.put("mail.smtp.starttls.enable", "true");
//props.put("mail.debug", "true");
}
- if (trustAllCerts && protocol.equalsIgnoreCase("smtps")) {
+ if (trustAllCerts && useSSL) {
props.setProperty("mail.smtps.socketFactory.class",
TRUST_ALL_SOCKET_FACTORY);
props.setProperty("mail.smtps.socketFactory.fallback", "false");
@@ -264,7 +262,7 @@ public class SendMailCommand {
tr.sendMessage(message, message.getAllRecipients());
if (synchronousMode) {
- listener.attend();
+ listener.attend(); // listener cannot be null here
}
tr.close();
@@ -700,6 +698,26 @@ public class SendMailCommand {
}
/**
+ * Returns port to be used for SMTP-connection - returns the
+ * default port for the protocol if no port has been supplied.
+ *
+ * @return Port to be used for SMTP-connection
+ */
+ private String getPort() {
+ String port = smtpPort.trim();
+ if (port.length() > 0) { // OK, it has been supplied
+ return port;
+ }
+ if (useSSL){
+ return "465";
+ }
+ if (useStartTLS) {
+ return "587";
+ }
+ return "25";
+ }
+
+ /**
* Assigns the object to use a local truststore for SSL / StartTLS - to be
* called by SmtpSampler-object
*
Modified: jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml?rev=960047&r1=960046&r2=960047&view=diff
==============================================================================
--- jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml (original)
+++ jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml Fri Jul 2
16:22:06 2010
@@ -1511,9 +1511,11 @@ Two alternatives to handle this verifica
</description>
<properties>
<property name="Server" required="Yes">Hostname or IP address of the server.
See below for use with <code>file</code> protocol.</property>
-<property name="Port" required="Yes">Port to be used to connect to the server
(optional)</property>
+<property name="Port" required="No">Port to be used to connect to the server.
+Defaults are: SMTP=25, SSL=465, StartTLS=587
+</property>
<property name="Address From" required="Yes">The from address that will appear
in the e-mail</property>
-<property name="Address To" required="Yes">The destination e-mail
address</property>
+<property name="Address To" required="Yes, unless CC or BCC is specified">The
destination e-mail address</property>
<property name="Address To BCC" required="No">Blind carbon copy destinations
e-mail address</property>
<property name="Address To CC" required="No">Carbon copy destinations e-mail
address</property>
<property name="Use Auth" required="">Indicates if the SMTP server requires
user authentication</property>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]