Я пытаюсь сделать отправителя электронной почты для inbox.lv
Я дошел до того, что могу войти, получить доступ к странице составления писем и писать в материалахнапример: reciever и само сообщение.
Но моя проблема в том, что .click()
возвращает меня на ту же страницу, что и раньше. Я использую page.asTxt
, чтобы проверить это.
Вот мой код:
public class main {
public static void main(String[] args) {
String loginUrl = "https://www.inbox.lv/";
String login = "actualemail@inbox.lv";
String password = "Actualemail" ;
String reciever = "actualemail@inbox.lv";
String theme = "testing";
String message = "Hello i am testing";
java.util.logging.Logger.getLogger("com.gargoylesoftware").setLevel(Level.OFF);
System.setProperty("org.apache.commons.logging.Log", "org.apache.commons.logging.impl.NoOpLog");
try {
System.out.println("Starting autoLogin on " + loginUrl);
WebClient client = autoLogin(loginUrl, login, password);
sendmail(client,reciever,theme,message);
} catch (Exception e) {
e.printStackTrace();
}
}
public static WebClient autoLogin(String loginUrl, String login, String password) throws FailingHttpStatusCodeException, MalformedURLException, IOException{
WebClient client = new WebClient();
client.getOptions().setCssEnabled(false);
client.getOptions().setJavaScriptEnabled(true);
client.getOptions().setThrowExceptionOnScriptError(false);
client.setAjaxController(new NicelyResynchronizingAjaxController());
HtmlPage page = client.getPage(loginUrl);
HtmlInput inputPassword = page.getFirstByXPath("//input[@id='pass']");
HtmlInput inputLogin = page.getFirstByXPath("//input[@id='imapuser']");
inputLogin.setValueAttribute(login);
inputPassword.setValueAttribute(password);
HtmlForm loginForm = inputPassword.getEnclosingForm() ;
page = client.getPage(loginForm.getWebRequest(null));
return client;
}
public static void sendmail(WebClient client, String reciever, String theme, String message) throws IOException {
HtmlPage page = client.getPage("https://mail.inbox.lv/compose?mailbox=INBOX&page=1");
HtmlInput inputReciever = page.getFirstByXPath("//input[@id='suggest-to']");
HtmlInput inputTheme = page.getFirstByXPath("//input[@id='subject']");
HtmlTextArea inputMessage = page.getFirstByXPath("//textarea[@id='message']");
inputReciever.setValueAttribute(reciever);
inputTheme.setValueAttribute(theme);
inputMessage.setText(message);
System.out.println(page.asText());
System.out.println("____________________________________________________________________");
HtmlButton send = page.getFirstByXPath("//button[@id='toolbar_primary_btn_send']");
HtmlPage sendPage=send.click();
client.waitForBackgroundJavaScript(10000);
try {
Thread.sleep(5000);
}catch (Exception e){
System.out.println("Can't sleep thread");
}
System.out.println(sendPage.asText());
}
}
Несколько отпечатков страницы, чтобы проверить страницудо и после отправки.
Электронная почта и пароль в коде являются законными, поэтому вы можете использовать их для перехода на страницу «Написать письмо».