私の目的は、Emailを通じてデータフレームを送信することです。以下のコードの私の作品です:scala - javax.mail.AuthenticationFailedException
import javax.mail._
import javax.mail.internet._
import org.apache.spark.{SparkConf, SparkContext}
object EmailAlert {
def main(args: Array[String]): Unit = {
val sparkConf = new SparkConf().setAppName("E-mail Alert").setMaster("local")
val sc = new SparkContext(sparkConf)
var bodyText = "Test mail"
// Set up the mail object
val properties = System.getProperties
properties.put("mail.smtp.host", "email-smtp.us-east-1.amazonaws.com")
properties.put("mail.smtp.user", "********");
properties.put("mail.smtp.password", "********");
properties.put("mail.smtp.auth", "true");
properties.put("mail.smtp.port", "587")
properties.put("mail.smtp.starttls.enable", "true");
val session = Session.getInstance(properties)
val message = new MimeMessage(session)
def getPasswordAuthentication(username:String, password:String):Authenticator=
{
new Authenticator(){
override def getPasswordAuthentication():PasswordAuthentication = {
new PasswordAuthentication(username, password);
}}
}
// Set the from, to, subject, body text
message.setFrom(new InternetAddress("[email protected]****.com"))
message.setRecipients(Message.RecipientType.TO, "[email protected]****.com")
message.setSubject("Count of DeviceIDs we are sent daily")
message.setText(bodyText)
// And send it
Transport.send(message)
}
}
しかし、私は、コードの実行時に、私は次のエラーを取得する:スレッド内
例外「メイン」javax.mail.AuthenticationFailedException
何を私はここで行方不明です。
は、なぜあなたは、彼らがすべてで使用されていないと言いました – toofrellik
私が知る限り(私はScalaのエキスパートではありません)、宣言しているオーセンティケータは決して使用されていません。通常は、Session.getInstanceメソッドに渡されます。とにかく、私が言ったことをする。 [オーセンティケータは必要ありません](http://www.oracle.com/technetwork/java/javamail/faq/index.html#commonmistakes)。 –