不幸的是,您不能使用Mail Reader
Sampler进行任何操作,如果您只需要为此或该发件人的电子邮件地址获取邮件,则可以使用JavaMail
API,该API使用JSR223
Sampler中的FromStringTerm类进行过滤
示例代码:
import javax.mail.MultipartProperties properties = new Properties()properties.put('mail.imap.host', 'your mail server host') // i.e. imap.gmail.comproperties.put('mail.imap.port', your mail server port) // i.e. 993properties.setProperty('mail.imap.socketFactory.class', 'javax.net.ssl.SSLSocketFactory')properties.setProperty('mail.imap.socketFactory.fallback', 'false')properties.setProperty('mail.imap.socketFactory.port', 'your_mail_server_port') // i.e. 993def session = javax.mail.Session.getDefaultInstance(properties)def store = session.getStore('imap')store.connect('your username (usually email address)', 'your_password')def inbox = store.getFolder('INBOX')inbox.open(javax.mail.Folder.READ_ONLY)def onlyFromGivenUser = inbox.search(new javax.mail.search.FromStringTerm('your_sender_address')) // i.e. test+1@gmail.comonlyFromGivenUser.each { message -> if (message.getContent() instanceof Multipart) { StringBuilder content = new StringBuilder() def multipart = (Multipart) message.getContent() multipart.eachWithIndex { Multipart entry, int i -> def part = entry.getBodyPart(i) if (part.isMimeType('text/plain')) { content.append(part.getContent().toString()) } } SampleResult.setResponseData(content.toString(), 'UTF-8') } else { SampleResult.setResponseData(message.getContent().toString(), 'UTF-8') }}更多信息:
- Apache Groovy-为什么以及如何使用它



