Dspace 的用户需要注册才能登录,一般是通过email来注册的,这就需要配置smtp服务器。
1. 修改安装目录中的配置文件D:\dspace\config\dspace.cfg,其中smtp server 参数的设置比较重要,本例中的
参数值需要根据个人环境进行变更。
##### Email settings ######
# SMTP mail server
mail.server=mail.wti.ac.cn
# SMTP mail server authentication username and password (if required)
mail.server.username = yourname@wti.ac.cn
mail.server.password = yourpassword
# SMTP mail server alternate port (defaults to 25)
# mail.server.port = 25
# From address for mail
mail.from.address = yourname@wti.ac.cn
# Currently limited to one recipient!
feedback.recipient = yourname@wti.ac.cn
# General site administration (Webmaster) e-mail
mail.admin = yourname@wti.ac.cn
# Recipient for server errors and alerts
# alert.recipient = email-address-here
# Recipient for new user registration emails
# registration.notify = email-address-here
# Set the default mail character set. This may be over ridden by providing a line
# inside the email template "charset: <encoding>", otherwise this default is used.
mail.charset = UTF8
2. 设置完,在我注册的时候出现了一个错误:
Exception in thread "main" javax.mail.MessagingException: Could not connect to SMTP host: mail.wti.ac.cn, port: 25;
nested exception is:
java.net.SocketException: Software caused connection abort: connect
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1391)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:412)
at javax.mail.Service.connect(Service.java:310)
at javax.mail.Service.connect(Service.java:169)
at javax.mail.Service.connect(Service.java:118)
at javax.mail.Transport.send0(Transport.java:188)
at javax.mail.Transport.send(Transport.java:118)
at MailExample.main(MailExample.java:46)
遂单独对Email的发送程序做了下测试,报同样的错,最后发现是邮件端口(port 25)与杀毒软件卖咖啡冲突,关掉卖咖啡的按访问扫描功能,测试发送成功!之后系统会向注册的email发送邮件,其中包含带有token的url,点击该url填写详细信息完成注册。
3. Dspace中的邮件发送
如果是通过邮件注册的用户,直接会收到register的邮件,如上所述,包含带有token的url。
如果是订阅某个Collection,有更新的Item,但并不会直接发送更新的信息。它的策略是每天手动更新一次,
避免用户同一天被多个邮件所打扰,更新的cmd命令是:
dsrun org.dspace.eperson.Subscribe
4. 如果想进入到管理界面,还需要授权才可以:
想个临时的办法先,用户表中我们已经注册了一个eperson,用户组epersongroup表中,默认有两个用户组 administator 和 anonymous ,属于administrator 组的用户就可以访问管理界面,索性直接改下用户和组的关系表epersongroup2eperson,将注册的用户对应到administrator组。
访问 http://localhost:8080/dspace-jspui/dspace-admin/ 就会进入到管理界面。