Не могли бы вы рассказать мне, как использовать библиотеку SubethaSmtp? Я просто хочу получить почту из своего почтового ящика Gmail и отобразить их или один из них в окне консоли.Рабочий пример SubethaSmtp
Я изучил большую часть документа API, но я не могу собрать эти штуки, чтобы заставить все работать.
Не могли бы вы рассказать мне о рабочем примере?
Я написал этот код для создания приложения grails. Вы можете найти некоторые плохие привычки кода, но это просто для примера приложения.
Вот код в SRC/заводной папке:
class MessageHandlerFactoryImpl implements MessageHandlerFactory {
@Override
MessageHandler create(MessageContext ctx) {
return new MessageHandlerImpl(ctx)
}
}
class MessageHandlerImpl implements MessageHandler {
MessageContext context
MessageHandlerImpl(MessageContext context) {
this.context = context
}
@Override
void from(String from) {
println "FROM: ${from}"
}
@Override
void recipient(String recipient) {
println "RECIPIENT: ${recipient}"
}
@Override
void data(InputStream data) {
println "DATA"
println "-------------------"
BufferedReader reader = new BufferedReader(new InputStreamReader(data))
StringBuilder builder = new StringBuilder()
String line
while ((line = reader.readLine()) != null) {
builder.append(line + "\n")
}
println builder.toString()
}
@Override
void done() {
println "DONE"
}
}
class SimpleMessageListenerImpl implements SimpleMessageListener {
@Override
boolean accept(String from, String recipient) {
println "accept: ${from} \n>> ${recipient}"
return false
}
@Override
void deliver(String from, String recipient, InputStream data) {
try {
println "deliver: ${from} \n>> ${recipient} \n>>> ${data.read()}"
} catch (TooMuchDataException e) {
println "TooMuchDataException: ${e.message}"
} catch (IOException e) {
println "IOException: ${e.message}"
}
}
}
class UsernamePasswordValidatorImpl implements UsernamePasswordValidator {
@Override
void login(String username, String password) {
try {
println "LOGIN:::::::"
} catch(LoginFailedException e) {
println "LoginFailedException: ${e.message}"
}
}
}
И вот мой код контроллера.
class SubethaController {
SMTPServer server
def index() {
MessageHandlerFactoryImpl factory = new MessageHandlerFactoryImpl()
server = new SMTPServer(factory)
server.hostName = "imap.gmail.com"
server.port = 993
server.authenticationHandlerFactory = new EasyAuthenticationHandlerFactory(new UsernamePasswordValidatorImpl())
server.start()
}
def stop() {
server?.stop()
}
Wiser wiser
def wiser() {
server = new SMTPServer(new SimpleMessageListenerAdapter(new SimpleMessageListenerImpl()))
server.start()
wiser = new Wiser()
wiser.setPort(25001)
wiser.start()
for (WiserMessage message : wiser.getMessages())
{
String eSender = message.getEnvelopeSender()
String eReceiver = message.getEnvelopeReceiver()
println ">>>>>>>message.getMimeMessage ${message.getMimeMessage()}"
}
}
def wiserS() {
wiser?.stop()
}
}
Спасибо.
Google.com: пример subethasmtp –
Да, я искал Google много. Простой пример, который поставляется с библиотекой, не очень полезен. Можете ли вы, пожалуйста, конкретно сказать мне, какой пример или документ? –
Nope. что ты уже испробовал? Я не трачу время на твою работу, если ты не можешь даже приложить никаких усилий. И когда я говорю «усилие», я имею в виду фактический код, даже если он ошибается. –