Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 尝试使用gmail发送电子邮件时出错_Java_Email - Fatal编程技术网

Java 尝试使用gmail发送电子邮件时出错

Java 尝试使用gmail发送电子邮件时出错,java,email,Java,Email,我使用“gmail”在需要时发送电子邮件- import com.sun.xml.internal.org.jvnet.mimepull.MIMEMessage; import java.io.BufferedReader; import java.io.FileReader; import java.util.ArrayList; import java.util.Timer; import java.util.TimerTask; import java.util.Properties;

我使用“
gmail
”在需要时发送电子邮件-

import com.sun.xml.internal.org.jvnet.mimepull.MIMEMessage;

import java.io.BufferedReader;
import java.io.FileReader;

import java.util.ArrayList;
import java.util.Timer;
import java.util.TimerTask;
import java.util.Properties;

import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class CityGridJobStatusCheckAndEmail {

    Properties emailProperties;
    Session mailSession;
    MIMEMessage emailMessage;

    public static void main(String[] args) throws AddressException, MessagingException {

        String fileName = "C:/Users/****/Downloads/";
        Start.txt;
        ";;
        // String fileName=args[0];
        try {
            //Create object of FileReader
            FileReader inputFile = new FileReader(fileName);

            //Instantiate the BufferedReader Class
            BufferedReader bufferReader = new BufferedReader(inputFile);

            //Variable to hold the one line data
            String line;


            // Read file line by line and print on the console

            while ((line = bufferReader.readLine()) != null) {


                if (line.equals("Start of program")) {

                    CityGridJobStatusCheckAndEmail javaEmail = new CityGridJobStatusCheckAndEmail();

                    javaEmail.setMailServerProperties();
                    javaEmail.createEmailMessageforstartofprogram(line);
                    javaEmail.sendEmailifJobCompleted();
                }
            }

            //Close the buffer reader
            bufferReader.close();
        } catch (Exception e) {
            System.out.println("Error while reading file line by line:" + e.getMessage());
        }


    }

    public void setMailServerProperties() {

        String emailPort = "587"; //gmail's smtp port//'465' gmail smtp port, test it with that as well,587//

        emailProperties = System.getProperties();
        emailProperties.put("mail.smtp.port", emailPort);
        emailProperties.put("mail.smtp.auth", "true");
        emailProperties.put("mail.smtp.starttls.enable", "true");

    }

    public void createEmailMessageforstartofprogram(String line) throws AddressException, MessagingException {
        String[] toEmails = { "****@gmail.com" };
        String emailSubject = "Java Email";
        String emailBody = "CitySearch : The Bulk Update program has started";

        mailSession = Session.getDefaultInstance(emailProperties, null);
        emailMessage = new MimeMessage(mailSession);

        for (int i = 0; i < toEmails.length; i++) {
            emailMessage.addRecipient(Message.RecipientType.TO, new InternetAddress(toEmails[i]));
        }

        emailMessage.setSubject(emailSubject);
        emailMessage.setContent(emailBody, "text/html"); //for a html email
        //emailMessage.setText(emailBody);// for a text email

    }

    public void createEmailMessage(String jobstatus, String jobId) throws AddressException, MessagingException {
        String[] toEmails = { "*****@gmail.com" }; //techops@pasadenalabs.com
        String emailSubject = "Java Email";
        String emailBody = "The Bulk Update with ID :" + jobId + " , and status :" + jobstatus;

        mailSession = Session.getDefaultInstance(emailProperties, null);
        emailMessage = new MimeMessage(mailSession);

        for (int i = 0; i < toEmails.length; i++) {
            emailMessage.addRecipient(Message.RecipientType.TO, new InternetAddress(toEmails[i]));
        }

        emailMessage.setSubject(emailSubject);
        emailMessage.setContent(emailBody, "text/html"); //for a html email
        //emailMessage.setText(emailBody);// for a text email

    }


    public void sendEmailifJobCompleted() throws AddressException, MessagingException {

        String emailHost = "smtp.gmail.com";
        String fromUser = "******"; //just the id alone without @gmail.com
        String fromUserEmailPassword = "555555"; //

        Transport transport = mailSession.getTransport("smtp");

        transport.connect(emailHost, fromUser, fromUserEmailPassword);
        transport.sendMessage(emailMessage, emailMessage.getAllRecipients());
        transport.close();
        System.out.println("Email sent successfully.");
    }

    public void sendEmailifJobnotCompleted() throws AddressException, MessagingException {

        String emailHost = "smtp.gmail.com";
        String fromUser = "*******"; //just the id alone without @gmail.com
        String fromUserEmailPassword = "*******";

        Transport transport = mailSession.getTransport("smtp");

        transport.connect(emailHost, fromUser, fromUserEmailPassword);
        transport.sendMessage(emailMessage, emailMessage.getAllRecipients());
        transport.close();
        System.out.println("Email sent successfully.");

    }

}
import com.sun.xml.internal.org.jvnet.mimepull.MIMEMessage;
导入java.io.BufferedReader;
导入java.io.FileReader;
导入java.util.ArrayList;
导入java.util.Timer;
导入java.util.TimerTask;
导入java.util.Properties;
导入javax.mail.Message;
导入javax.mail.MessaginException;
导入javax.mail.Session;
导入javax.mail.Transport;
导入javax.mail.internet.AddressException;
导入javax.mail.internet.InternetAddress;
导入javax.mail.internet.mimessage;
公共类CityGridJobStatusCheckAndEmail{
财产和财产;
会议邮递会议;
mimessage电子邮件;
公共静态void main(字符串[]args)引发AddressException、MessaginException{
String fileName=“C:/Users/**/Downloads/”;
Start.txt;
";;
//字符串文件名=args[0];
试一试{
//创建FileReader的对象
FileReader inputFile=新的FileReader(文件名);
//实例化BufferedReader类
BufferedReader bufferReader=新的BufferedReader(inputFile);
//变量来保存单行数据
弦线;
//逐行读取文件并在控制台上打印
而((line=bufferReader.readLine())!=null){
if(行等于(“程序开始”)){
CityGridJobStatusCheckAndEmail javaEmail=新建CityGridJobStatusCheckAndEmail();
javaEmail.setMailServerProperties();
createEmailMessageforstartofprogram(行);
javaEmail.sendEmailifJobCompleted();
}
}
//关闭缓冲区读取器
bufferReader.close();
}捕获(例外e){
System.out.println(“逐行读取文件时出错:+e.getMessage());
}
}
public void setMailServerProperties(){
字符串emailPort=“587”//gmail的smtp端口//“465”gmail smtp端口,也用它测试一下,587//
emailProperties=System.getProperties();
emailProperties.put(“mail.smtp.port”,emailPort);
emailProperties.put(“mail.smtp.auth”,“true”);
emailProperties.put(“mail.smtp.starttls.enable”、“true”);
}
public void createEmailMessageforstartofprogram(字符串行)抛出AddressException、MessaginException{
字符串[]toEmails={“****@gmail.com”};
字符串emailSubject=“Java电子邮件”;
String emailBody=“CitySearch:批量更新程序已启动”;
mailSession=Session.getDefaultInstance(emailProperties,null);
emailMessage=新的mimessage(mailSession);
for(int i=0;i
当我试图发送电子邮件时,它会抛出一个错误

Error while reading file line by line:534-5.7.14 <https://accounts.google.com    /ContinueSignIn?sarp=1&scc=1&plt=AKgnsbvkh
534-5.7.14 6t9cTpTGLup7iypGocpm3F6Gpctby3p0fxBXXKwv5Raa66nOfkB0aGNeHVkyJcT2aeSmRc
534-5.7.14 3BLMYylXdaxOEyeOWQl2qg3DJi7_kz16sDVINej3vNJS1e8-tEheczcXZtM8nsSY4_FlE0
534-5.7.14 sCKCE-XoKvz-c-wddfDZRh_a7RvVn0VZH1LIsw05rJlsHhHbeQtaHeXHjZSjBJdT-nfjNn
534-5.7.14 Kfyl0HA> Please log in via your web browser and then try again.
534-5.7.14 Learn more at https://support.google.com/mail/bin/answer.py?answer=787
534 5.7.14 54 cz3sm1737237pbc.9 - gsmtp
逐行读取文件时出错:534-5.7.14请通过web浏览器登录,然后重试。 534-5.7.14了解更多信息,请访问https://support.google.com/mail/bin/answer.py?answer=787 534 5.7.14 54 cz3sm1737237pbc.9-gsmtp

现在当这种情况发生时,
gmail
(在gmail帐户中)当询问从该帐户接收电子邮件是否安全时,我已指定“是”,现在它接收电子邮件。我确实希望知道如何进一步克服此问题,例如,如果有人更改电子邮件地址?感谢任何帮助。

如果您在发送前通过oAuth验证,则不会通过浏览器询问您