我想用 javax mail 在电子邮件中发送 pdf 文件。
下面,baos是一个ByteArrayOutputStream。
byte [] data= baos.toByteArray();
OutputStream output = new FileOutputStream(fileName);
output.write(data);
output.close();
DataSource source = new FileDataSource(fileName);
attachBodyPart.setDataHandler(new DataHandler(source, "application/pdf"));
attachBodyPart.setFileName(fileName);
multipart.addBodyPart(attachBodyPart);
message.setContent(multipart, "text/html");
Transport transport = session.getTransport("smtp");
transport.connect(host, from, pass);
transport.sendMessage(message, message.getAllRecipients());
transport.close();
Run Code Online (Sandbox Code Playgroud)
当我尝试发送电子邮件时遇到此异常:
javax.mail.MessagingException:发送消息时发生 IOException;
嵌套异常是: javax.activation.UnsupportedDataTypeException:没有 MIME 类型 application/pdf 的对象 DCH
我不知道这里出了什么问题。
如果有人这样做...
提前致谢。
我需要复制一个jhipster项目.自从我创建了这个项目以来,我已经更新了jhipster版本.我想用第一个项目的相同jhipster版本复制项目.
我如何知道我在第一个应用程序中使用的Jhipster版本?
Liquibase告诉我:
1 change sets had duplicate identifiers
classpath:config/liquibase/changelog/20160610094343_changelog.xml::1465551835616-1::techvalley (generated)
Run Code Online (Sandbox Code Playgroud)
我在我的应用程序代码中查找了ID 1465551835616-1,它仅在文件20160610094343_changelog.xml中(并且只有一次)。我不知道此错误可能来自何处。
我试图添加一个新实体,我没有使用完全热重载,所以我创建了一个db-changelog-002.xml文件,其中新表将在文件的变更集中创建.然后我运行了一个mvn spring-boot:run,但我的数据库没有使用新表进行更新.这是正常的吗?
先感谢您.
我有一个用户'root'的mysql服务器,没有密码.
当我在终端中执行mysql -u root -p时,我可以连接到我的服务器.
当我使用mysql workbench时,如果我测试这个连接,那就成功了.
但是当我尝试使用mysql workbench连接到服务器时,我收到此错误:
在127.0.0.1:3306,用户"root"从主机到服务器的连接尝试失败:无法打开数据库
请:1检查mysql是否在服务器127.0.0.1上运行
2检查mysql是否在端口3306上运行(注意:3306是默认值,但可以更改)
3检查root是否有权从您的连接到127.0.0.1地址(mysql权限定义客户端可以连接到服务器以及从哪些计算机连接)
4确保您在需要时提供密码并使用正确的密码连接到您要连接的主机地址127.0.0.1
有人知道这里出了什么问题吗?
[更新]
我仍然有这个问题.
用mysql workbench:测试连接没问题,但我无法连接到mysql服务器.
如果这可以帮助,这里是mysql服务器状态:
mysql Ver 14.14 Distrib 5.6.28,debian-linux-gnu(x86_64)使用EditLine包装器
Connection id: 7
Current database:
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 5.6.28-0ubuntu0.15.10.1 (Ubuntu)
Protocol version: 10
Connection: localhost via TCP/IP
Server characterset: latin1
Db characterset: latin1
Client characterset: utf8
Conn. characterset: utf8
TCP port: 3306
Uptime: 50 sec
Threads: 3 Questions: 69 Slow …Run Code Online (Sandbox Code Playgroud) 我用我的应用程序打包了:mvn -Pprod包
然后我跑了
java -jar myapp-0.0.1-SNAPSHOT.war
Run Code Online (Sandbox Code Playgroud)
它工作正常.但如果我跑:
java -jar myapp-0.0.1-SNAPSHOT.war --spring.profiles.active=prod
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
[ERROR] org.springframework.boot.context.embedded.tomcat.ServletContextInitializerLifecycleListener - Error starting Tomcat context: org.springframework.beans.factory.BeanCreationException
[WARN] org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext - Exception encountered during context initialization - cancelling refresh attempt
org.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is org.springframework.boot.context.embedded.EmbeddedServletContainerException: Unable to start embedded Tomcat
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:124) [spring-boot-1.2.0.RELEASE.jar!/:1.2.0.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:474) ~[spring-context-4.1.3.RELEASE.jar!/:4.1.3.RELEASE]
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:109) [spring-boot-1.2.0.RELEASE.jar!/:1.2.0.RELEASE]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:691) [spring-boot-1.2.0.RELEASE.jar!/:1.2.0.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:321) [spring-boot-1.2.0.RELEASE.jar!/:1.2.0.RELEASE]
at com.myapp.Application.main(Application.java:57) [classes!/:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_25]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_25]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_25]
at java.lang.reflect.Method.invoke(Method.java:483) ~[na:1.8.0_25]
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:53) …Run Code Online (Sandbox Code Playgroud) 我已经存储(并编码)了电子邮件密码。我已经使用了PasswordEncoder(Spring安全性)。
passwordEncoder.encode(password);
Run Code Online (Sandbox Code Playgroud)
现在,我需要对其进行解码,以便在javax邮件中使用它。(该密码用于连接到电子邮件提供商(yahoo,gmail等)。
是否可以解码此密码?
提前致谢。
当我运行时mvn -Pprod package,gulp运行测试.
但它在测试期间失败了.我现在不知道如何解决这个问题.
所以我想禁用那些测试.
我怎样才能做到这一点?
谢谢.
I am trying to send an email with attachment like this :
MimeMessageHelper message = new MimeMessageHelper(mimeMessage, false, CharEncoding.UTF_8);
InputStream is = new ByteArrayInputStream(baos.toByteArray());
message.addAttachment("facture.pdf", new ByteArrayResource(IOUtils.toByteArray(is)));
Run Code Online (Sandbox Code Playgroud)
I am getting an error :
java.lang.IllegalStateException: Not in multipart mode - create an appropriate MimeMessageHelper via a constructor that takes a 'multipart' flag if you need to set alternative texts or add inline elements or attachments.
Is there a way to make it work keeping the addAttachment method?
我正在使用ngTable和过滤器.
如何通过单击一个按钮清除过滤器值?
我认为这$scope.tableParams.reload();会重置过滤器,但显然情况并非如此.
谢谢
在邮件中,我想显示一个Java变量:
context.setVariable("content", "Hi<br>This is a test<p></p>");
Run Code Online (Sandbox Code Playgroud)
在邮件模板中,我这样做:
<p><span th:text="|${content}|"></span></p>
Run Code Online (Sandbox Code Playgroud)
在邮件中,将其转换为:
<p><span>Hi<br>this is a test<p></p></span></p>
Run Code Online (Sandbox Code Playgroud)
如何使变量得到很好的解释。
谢谢。
我试图基于这个例子与JPA建立多对多的双向关系:http://www.mkyong.com/hibernate/hibernate-many-to-many-example-join-table-extra-column-注解/
我得到了一个
org.hibernate.MappingException:无法确定类型:java.util.Set,在表:T_ITEM,对于列:[org.hibernate.mapping.Column(itemHikes)]
如果有人可以帮助我,请参阅以下源代码:
课程项目
@Entity
@Table(name="T_ITEM")
public class Item implements Serializable {
private static final long serialVersionUID = 1L;
@Id
private Long id;
private Set<ItemHike> itemHikes = new HashSet<ItemHike>(0);
@OneToMany(fetch = FetchType.LAZY, mappedBy = "pk.item", cascade=CascadeType.ALL)
public Set<ItemHike> getItemHikes() {
return this.itemHikes;
}
public void setItemHikes(Set<ItemHike> itemHikes) {
this.itemHikes = itemHikes;
}
}
Run Code Online (Sandbox Code Playgroud)
班级徒步旅行
@Entity
@Table(name="T_HIKE")
public class Hike implements Serializable {
private static final long serialVersionUID = 1L;
@Id
private Long id;
private List<ItemHike> itemHikes …Run Code Online (Sandbox Code Playgroud)