# Class MailReaderSampler

java.lang.Object
org.apache.jmeter.testelement.AbstractTestElement
org.apache.jmeter.samplers.AbstractSampler
org.apache.jmeter.protocol.mail.sampler.MailReaderSampler

All Implemented Interfaces:
  `Serializable, Cloneable, ConfigMergabilityIndicator, Searchable, Interruptible, Sampler, TestElement`

public class MailReaderSampler extends AbstractSampler implements Interruptible
Sampler that can read from POP3 and IMAP mail servers

See Also:
  - Serialized Form

## Field Summary

Fields
Modifier and Type
Field
Description
`static final int`
`ALL_MESSAGES`
`static final String`
`DEFAULT_PROTOCOL`

### Fields inherited from interface TestElement

`COMMENTS, ENABLED, GUI_CLASS, NAME, TEST_CLASS`

## Constructor Summary

Constructors
Constructor
Description
`MailReaderSampler()`

## Method Summary

Modifier and Type
Method
Description
`boolean`
`applies(ConfigTestElement configElement)`
Does configElement apply to Sampler
`boolean`
`getDeleteMessages()`
`String`
`getFolder()`
`boolean`
`getHeaderOnly()`
`int`
`getNumMessages()`
`String`
`getNumMessagesString()`
`String`
`getPassword()`
`String`
`getPort()`
`String`
`getServer()`
`String`
`getServerType()`
Returns the type of the protocol set to use when talking with the remote server.
`String`
`getTrustStoreToUse()`
`String`
`getUserName()`
`boolean`
`interrupt()`
Interrupt the current operation if possible.
`boolean`
`isEnforceStartTLS()`
`boolean`
`isStoreMimeMessage()`
`boolean`
`isTrustAllCerts()`
`boolean`
`isUseLocalTrustStore()`
`boolean`
`isUseSSL()`
`boolean`
`isUseStartTLS()`
`SampleResult`
`sample(Entry e)`
Obtains statistics about the given Entry, and packages the information into a SampleResult.
`void`
`setDeleteMessages(boolean delete)`
`void`
`setFolder(String folder)`
`void`
`setHeaderOnly(boolean selected)`
`void`
`setNumMessages(int num_messages)`
`void`
`setNumMessages(String num_messages)`
`void`
`setPassword(String password)`
`void`
`setPort(String port)`
`void`
`setServer(String server)`
`void`
`setServerType(String serverType)`
Sets the type of protocol to use when talking with the remote mail server.
`void`
`setStoreMimeMessage(boolean storeMimeMessage)`
`void`
`setUserName(String username)`
`String`
`toString()`

### Methods inherited from class AbstractTestElement

`addPropertiesValues, addProperty, addProperty, addTestElement, canRemove, clear, clearTemporary, clearTestElementChildren, clone, emptyTemporary, equals, getComment, getName, getProperty, getPropertyAsBoolean, getPropertyAsBoolean, getPropertyAsDouble, getPropertyAsFloat, getPropertyAsInt, getPropertyAsInt, getPropertyAsLong, getPropertyAsLong, getPropertyAsString, getPropertyAsString, getSearchableTokens, getThreadContext, getThreadName, hashCode, isEnabled, isRunningVersion, isTemporary, logProperties, mergeIn, propertyIterator, recoverRunningVersion, removeProperty, setComment, setEnabled, setName, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setRunningVersion, setTemporary, setThreadContext, setThreadName, traverse, traverseCollection, traverseMap, traverseProperty`

### Methods inherited from class Object

`finalize, getClass, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface TestElement

`addTestElement, canRemove, clear, clearTestElementChildren, clone, getComment, getName, getProperty, getPropertyAsBoolean, getPropertyAsBoolean, getPropertyAsDouble, getPropertyAsFloat, getPropertyAsInt, getPropertyAsInt, getPropertyAsLong, getPropertyAsLong, getPropertyAsString, getPropertyAsString, getThreadContext, getThreadName, isEnabled, isRunningVersion, isTemporary, propertyIterator, recoverRunningVersion, removeProperty, setComment, setEnabled, setName, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setRunningVersion, setTemporary, setThreadContext, setThreadName, traverse`

## Field Details

### DEFAULT_PROTOCOL

public static final String DEFAULT_PROTOCOL

See Also:
  - Constant Field Values

### ALL_MESSAGES

public static final int ALL_MESSAGES

See Also:
  - Constant Field Values

## Constructor Details

### MailReaderSampler

public MailReaderSampler()

## Method Details

### isUseLocalTrustStore

public boolean isUseLocalTrustStore()

### getTrustStoreToUse

public String getTrustStoreToUse()

### isUseSSL

public boolean isUseSSL()

### isUseStartTLS

public boolean isUseStartTLS()

### isTrustAllCerts

public boolean isTrustAllCerts()

### isEnforceStartTLS

public boolean isEnforceStartTLS()

### sample

public SampleResult sample(Entry e)
Obtains statistics about the given Entry, and packages the information into a SampleResult.

Specified by:
  `sample` in interface `Sampler`
Parameters:
  `e` - the Entry (TODO seems to be unused)
Returns:
  information about the sample

### setServerType

public void setServerType(String serverType)
Sets the type of protocol to use when talking with the remote mail server. Either MailReaderSampler.TYPE_IMAP[S] or MailReaderSampler.TYPE_POP3[S]. Default is MailReaderSampler.TYPE_POP3.

Parameters:
  `serverType` - protocol to use

### getServerType

public String getServerType()
Returns the type of the protocol set to use when talking with the remote server. Either MailReaderSampler.TYPE_IMAP[S] or MailReaderSampler.TYPE_POP3[S].

Returns:
  Server Type

### setServer

public void setServer(String server)

Parameters:
  `server` - - The name or address of the remote server.

### getServer

public String getServer()

Returns:
  The name or address of the remote server.

### getPort

public String getPort()

### setPort

public void setPort(String port)

### setUserName

public void setUserName(String username)

Parameters:
  `username` - - The username of the mail account.

### getUserName

public String getUserName()

Returns:
  The username of the mail account.

### setPassword

public void setPassword(String password)

Parameters:
  `password` - the password to use

### getPassword

public String getPassword()

Returns:
  password

### setFolder

public void setFolder(String folder)

Parameters:
  `folder` - - Name of the folder to read emails from. "INBOX" is the only acceptable value if the server type is POP3.

### getFolder

public String getFolder()

Returns:
  folder

### setNumMessages

public void setNumMessages(int num_messages)

Parameters:
  `num_messages` - - The number of messages to retrieve from the mail server. Set this value to -1 to retrieve all messages.

### setNumMessages

public void setNumMessages(String num_messages)

Parameters:
  `num_messages` - - The number of messages to retrieve from the mail server. Set this value to -1 to retrieve all messages.

### getNumMessages

public int getNumMessages()

Returns:
  The number of messages to retrieve from the mail server. -1 denotes get all messages.

### getNumMessagesString

public String getNumMessagesString()

Returns:
  The number of messages to retrieve from the mail server. -1 denotes get all messages.

### setDeleteMessages

public void setDeleteMessages(boolean delete)

Parameters:
  `delete` - - Whether or not to delete the read messages from the folder.

### getDeleteMessages

public boolean getDeleteMessages()

Returns:
  Whether or not to delete the read messages from the folder.

### isStoreMimeMessage

public boolean isStoreMimeMessage()

Returns:
  Whether or not to store the retrieved message as MIME message in the sample result

### setStoreMimeMessage

public void setStoreMimeMessage(boolean storeMimeMessage)

Parameters:
  `storeMimeMessage` - Whether or not to store the retrieved message as MIME message in the sample result

### toString

public String toString()

Overrides:
  `toString` in class `Object`

### interrupt

public boolean interrupt()
Interrupt the current operation if possible.

Specified by:
  `interrupt` in interface `Interruptible`
Returns:
  `true` if there was an operation to interrupt.

### applies

public boolean applies(ConfigTestElement configElement)
Description copied from class: `AbstractSampler`
Does configElement apply to Sampler

Specified by:
  `applies` in interface `ConfigMergabilityIndicator`
Overrides:
  `applies` in class `AbstractSampler`
Parameters:
  `configElement` - `ConfigTestElement`
Returns:
  boolean
See Also:
  - `AbstractSampler.applies(org.apache.jmeter.config.ConfigTestElement)`

### getHeaderOnly

public boolean getHeaderOnly()

### setHeaderOnly

public void setHeaderOnly(boolean selected)