当前位置: 首页 > 知识库问答 >
问题:

没有传递定位标记的href参数

郭翰翮
2023-03-14

所以我正在尝试使用JavaMailSenderMimeMessageMimeMessageHelper发送一封电子邮件,并在邮件末尾添加一个取消订阅的可点击链接。这是我的MailService方法

package com.emailScheduler.emailScheduler.Service;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Service;
import org.thymeleaf.spring5.SpringTemplateEngine;

import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import java.io.UnsupportedEncodingException;

@Service
public class MailService {

    @Autowired
    private JavaMailSender javaMailSender;

    @Autowired
    private SpringTemplateEngine springTemplateEngine;

    //Simple mail sender method
    public void sendMail(String to, String sub, String msg){
        SimpleMailMessage mailMessage = new SimpleMailMessage();

        mailMessage.setFrom("Sender Name");
        mailMessage.setTo(to);
        mailMessage.setSubject(sub);
        mailMessage.setText(msg);

        javaMailSender.send(mailMessage);
    }

    //HTML mail sender method
    public void sendMail2 (String to, String sub, String msg) throws MessagingException, UnsupportedEncodingException {

        MimeMessage mailMessage = javaMailSender.createMimeMessage();
        MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage);

        /*Context context = new Context();
        context.setVariables(mailModel);*/

        String html =  "<p>" + msg + "</p>" + "<a href= \"localhost:8080/unsubscribe\">unsubscribe1</a>";
        String html2 = "<p>" + msg + "</p>" + "<a href= 'localhost:8080/unsubscribe'>unsubscribe2</a>";
        String html3 = html + html2;

        messageHelper.setFrom("senderemail@gmail.com", "Sender Name");
        messageHelper.setTo(to);
        messageHelper.setSubject(sub);
        messageHelper.setText(html3, true);

        System.out.println(html);
        System.out.println(html2);

        javaMailSender.send(mailMessage);
    }
}

我可以成功发送电子邮件,但由于某种原因,在我的邮件正文中< code>unsubscribe没有显示为超链接,而是纯文本,在chrome浏览器的inspect元素中检查时,它显示如下< code >

共有1个答案

呼延景同
2023-03-14

尝试仅使用“而不是使用转义字符=”

 类似资料:
  • 我正在使用JSP在动态生成的jnlp中传递带有href标记的动态值。 AFAIK当用户下载并运行这个JNLP时,它将基于codebase和href属性和获取JNLP和jar来访问服务器,但是如何在我的服务器上读取JNLP中的和。 我的JNLP(存在于服务器上)的参数标记应该是什么样子,它们应该是格式,还是格式,或者其他格式。 有人能帮我做这个吗。 提前谢了。

  • 问题内容: 我有一个使用处理程序发布可运行实例的线程。它工作得很好,但是我很好奇我如何将参数传递给Runnable实例使用?也许我只是不了解此功能的工作原理。 为了避免出现“您为什么需要此问题”的问题,我有一个线程化的动画,必须调出UI线程来告诉它实际绘制的内容。 问题答案: 只需使用接受参数的构造函数实现的类就可以了, 您可以使用参数化构造函数创建Runnable类的实例。

  • 我有办法 我想知道如果它真的创建了用户,我是否可以对其进行单元测试。但是它没有参数。 我尝试了以下方法: 然而,这实际上让我通过了与扫描仪的争论,这显然是我在测试中无法做到的。还尝试了其他逻辑。我也尝试过使用when(),,,但我找不到解决这个问题的方法,因为我对模仿还比较陌生。 有人能和我分享一些想法吗?

  • 我正在实现一个存储库,该存储库实现了QuerydslBinderCustomizer,以帮助从url过滤器参数创建谓词。就是这样 我的个人实体存储库就是从这个扩展而来的, 这会产生一个endpoint 。一切正常,我可以发出请求,例如 现在,我正在实现软删除,我不想在查询时返回软删除的记录。我正计划为此编辑< code>customize方法 但是,当在没有任何参数的情况下调用endpoint时,

  • 我可以使用XPath//form//input[@type='radio']或name=gender属性来定位收音机,但是,我不知道如何定位收音机的标签,因为它们没有任何label标记。 我尝试了getText(),但返回为NULL。感谢您关于如何定位标签的建议和选择。

  • 我在石英(Spring启动应用程序)有一个cron工作。我已经为调度器、触发器、cron作业和所有其他bean创建了bean。作业的目的是基于指定的cron表达式运行。但是对于作业的每个新执行,我希望传递一些特定于该作业的数据到作业详细对象。但是目前,当我试图在JobDetailFactory bean中传递这样的数据时,它只被创建一次(第一次),对于作业的所有进一步执行,传递的都是相同的陈旧数据