当前位置: 首页 > 面试题库 >

显示Java邮件发件人的地址,而不是其姓名

那博瀚
2023-03-14
问题内容

我正在尝试通过Java
Mail应用程序将邮件发送给我的朋友。我能够成功完成此操作,但是邮箱中的收件人列显示了完整的电子邮件地址,而不是发送者的姓名。我尝试更改各种参数,但是邮箱仍然会显示完整的电子邮件地址,而不是发件人的姓名。

使用此方法发送消息:

 public void send(String key){
    String to=key;
    String from="mygmailid";
    String subject="wassp";
    String text="Hello";
    Properties props=new Properties();

    props.put("mail.smtp.host", "smtp.gmail.com");
    props.put("mail.smtp.user", "myname");
    props.put("mail.smtp.socketFactory.port", "465");
    props.put("mail.smtp.socketFactory.class","javax.net.ssl.SSLSocketFactory");
    props.put("mail.smtp.auth", "true");
    props.put("mail.smtp.port", "465");
    Session mailSession=Session.getDefaultInstance(props);
    Message simpleMessage=new MimeMessage(mailSession);

    InternetAddress fromAddress=null;
    InternetAddress toAddress=null;

    try{
        fromAddress=new InternetAddress(from);
        toAddress=new InternetAddress(to);
    }
    catch(AddressException e){
        e.printStackTrace();
    }

    try{
        simpleMessage.setFrom(fromAddress);
        simpleMessage.setRecipient(RecipientType.TO,toAddress);
        simpleMessage.setSubject(subject);
        simpleMessage.setText(text);

        transport.connect("smtp.gmail.com",465, "myid@gmail.com", "mygmailpassword");
        transport.sendMessage(simpleMessage, simpleMessage.getAllRecipients());
        transport.close();

    }
    catch(MessagingException e){
        e.printStackTrace();
    }
}

我将此方法称为:

public static void main(String[] args) {
    MailSender mailer=new MailSender();
    mailer.send("friendmail@gmail.com");
}

问题答案:

您可以在InternetAddress使用中设置名称

new InternetAddress("mail@example.com", "Your Name");


 类似资料:
  • 问题内容: 我什至不确定这是否可行,但是我想做的如下。我有一个使用脚本生成并通过电子邮件发送的HTML表单。我想要的是将电子邮件从此表单接收到,然后我希望该地址显示为表单中的字段之一。 我环顾四周,并在此站点上找到了一些有用的信息。我不确定是否可以在这种情况下使用,或者是否可以满足我的要求。 如果可能的话,这可能吗? 问题答案: 在同一站点(示例2)上查看此页面:http : //www.w3sc

  • 我正在尝试从我的Android应用程序发送电子邮件。只需单击一个按钮,gmail就应该打开并显示一封带有我之前定义的收件人、主题和电子邮件正文的新电子邮件。 这是两天的工作方式,但今天,收件人地址没有被复制到gmail地址栏,只有主题和正文被复制。 这是我的代码(我没有更改,与2天前的代码一样):

  • 使用office 365发送邮件时,我们如何设置不同的地址。基本上,我提供的凭据是office365帐户/用户名,从电子邮件地址我提到的是不同的帐户。所以这必须是一样的? 下面是我的代码。 但它给我以下错误, 邮箱不可用。服务器响应为:5.7.60 SMTP;客户端没有作为此发件人发送的权限 基本上,我想在发送邮件时设置不同的发件人地址。 编辑1:发件人电子邮件地址将是登录用户的电子邮件id。这将

  • 对于下面的方法有逻辑上的问题,也许有人可以帮我解决。当一个用户向另一个用户发送消息时,该消息显示在中,就像发送该消息的用户应该看到的那样,但另一个用户没有得到它/看到它。只有当您是发送第一条消息的人时,这些消息才会出现。 我希望这样做,使其他用户收到消息,即使他们没有回应它。中的语句不应该说明我要做什么吗?如果当前登录的用户是(receiver),那么他们也应该让消息出现在中,即使他们还没有响应它

  • 查尔斯对我来说显示的是IP地址而不是域名。还有其他人看到过这个问题吗?请参阅附加的屏幕截图。

  • 当我尝试发送密码重置邮件时,我在Laravel 5.1 Homestead中的股票电子邮件设置中遇到此错误。 地址填写在app/config/mail.php中: