js 发邮件(js + html 能不能实现发送邮件的功能)
大家好,今天小编来为大家解答js 发邮件这个问题,js + html 能不能实现发送邮件的功能很多人还不知道,现在让我们一起来看看吧!
@jsmail.com.cn ,可是给国外发邮件就被退了回来
你这种情况属于退信.主要原因在于你所用邮箱服务器遇到国外服务器不友好拦截从而退回你的邮件.具体解决办法:
1.你可以尝试再重发几次,看看是否还会退信.
2.同时将你这边出现的问题,反馈给你所用邮箱服务商,因为服务器之间不友好的情况解决根本还是两家服务器运营商之间的沟通与解决!
3.同时如何你与这为国外联系人有其他联系方式的话,你安排对方将你的邮箱电子加入到他邮箱的联系人名单中.
4.为了不影响你的工作,建议还是先换用另外一个邮箱先将邮件发送出去,可以选择hotmail或者gmail.
5.为了今后尽量少发生这种情况,建议换用有海外转发功能的国际专用邮箱.
java发送html格式邮件是否能有js
1、如果是想用HTML做发送的内容及布局的话,那就不要用js
2、如果在发送邮件的时候将HTML文件作为附件的话,那是可以有js的
Java发送邮件需要用到JavaMail,先到Oracle官网上下载好最新版本的JavaMail(刚才看了一下,最新是1.5.3),把下载的这个jar文件放到classpath里(如果是Web项目,就放到WEB-INF/lib目录下。
JavaMail主要支持发送纯文本的和html格式的邮件。
java发送html格式邮件的具体实现:
importjavax.mail.internet.InternetAddress;
importjavax.mail.internet.MimeMessage;
importjavax.mail.internet.MimeUtility;
importjavax.mail.Session;
importjavax.mail.MessagingException;
importjavax.mail.Transport;
publicclassSendHtmlMail{
publicstaticvoidsendMessage(StringsmtpHost,
Stringfrom,Stringto,
Stringsubject,StringmessageText)
throwsMessagingException,java.io.UnsupportedEncodingException{
//Step1:Configurethemailsession
System.out.println("Configuringmailsessionfor:"+smtpHost);
java.util.Propertiesprops=newjava.util.Properties();
props.setProperty("mail.smtp.auth","true");//指定是否需要SMTP验证
props.setProperty("mail.smtp.host",smtpHost);//指定SMTP服务器
props.put("mail.transport.protocol","smtp");
SessionmailSession=Session.getDefaultInstance(props);
mailSession.setDebug(true);//是否在控制台显示debug信息
//Step2:Constructthemessage
System.out.println("Constructingmessage-from="+from+"to="+to);
InternetAddressfromAddress=newInternetAddress(from);
InternetAddresstoAddress=newInternetAddress(to);
MimeMessagetestMessage=newMimeMessage(mailSession);
testMessage.setFrom(fromAddress);
testMessage.addRecipient(javax.mail.Message.RecipientType.TO,toAddress);
testMessage.setSentDate(newjava.util.Date());
testMessage.setSubject(MimeUtility.encodeText(subject,"gb2312","B"));
testMessage.setContent(messageText,"text/html;charset=gb2312");
System.out.println("Messageconstructed");
//Step3:Nowsendthemessage
Transporttransport=mailSession.getTransport("smtp");
transport.connect(smtpHost,"webmaster","password");
transport.sendMessage(testMessage,testMessage.getAllRecipients());
transport.close();
System.out.println("Messagesent!");
}
publicstaticvoidmain(String[]args){
StringsmtpHost="localhost";
Stringfrom="webmaster@mymail.com";
Stringto="mfc42d@sohu.com";
Stringsubject="html邮件测试";//subjectjavamail自动转码
StringBuffertheMessage=newStringBuffer();
theMessage.append("<h2><fontcolor=red>这倒霉孩子</font></h2>");
theMessage.append("<hr>");
theMessage.append("<i>年年失望年年望</i>");
try{
SendHtmlMail.sendMessage(smtpHost,from,to,subject,theMessage.toString());
}
catch(javax.mail.MessagingExceptionexc){
exc.printStackTrace();
}
catch(java.io.UnsupportedEncodingExceptionexc){
exc.printStackTrace();
}
}
}
js + html 能不能实现发送邮件的功能
js+ html能实现发送邮件的功能,使用Nodejs发邮件组件Nodemailer
使用Nodejs收发电子邮件也非常简单,Nodemailer包就可以帮助快速实现发邮件的功能。
Nodemailer的主要特点包括:
支持Unicode编码
支持Window系统环境
支持HTML内容和普通文本内容
支持附件(传送大附件)
支持HTML内容中嵌入图片
支持SSL/STARTTLS安全的邮件发送
支持内置的transport方法和其他插件实现的transport方法
支持自定义插件处理消息
支持XOAUTH2登录验证
以上的功能特点,已经覆盖了大部分的发邮件的需求了,核心服务代码如下:
var nodemailer= require('nodemailer');
var transporter= nodemailer.createTransport({
service:'Gmail',
auth:{
user:'sxzqcyj@gmail.com',
pass:'xxxxx'
}
});
var mailOptions={
from:'sxzqcyj',// sender address
to:'xxxxx@163.com',// list of receivers
subject:'Hello',// Subject line
text:'Hello world',// plaintext body
html:'<b>Hello world</b>'// html body
};
transporter.sendMail(mailOptions, function(error, info){
if(error){
console.log(error);
}else{
console.log('Message sent:'+ info.response);
}
});
客户端可以用ajax方式将数据发送到服务方实现邮件发送,整个过程只需用到html+js语言。
js判断是否为邮件
1、使用正则验证
<SCRIPTLANGUAGE=javascriptRUNAT=Server>
functionisEmail(strEmail){
//声明邮箱正则
varmyreg=/^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
if(!myreg.test(temp.value))//对输入的值进行判断
{
alert('提示\n\n请输入有效的E_mail!');
myreg.focus();
returnfalse;
}
}
</SCRIPT>
<inputtype=textonblur=isEmail(this.value)>
2、使用js分段判断是否符合邮件格式
functionchar_test(chr)
//字符检测函数
{
vari;
varsmallch="abcdefghijklmnopqrstuvwxyz";
varbigch="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
for(i=0;i<26;i++){
if(chr==smallch.charAt(i)||chr==bigch.charAt(i))
return(1);//循环判断是否是正确的字符
}
return(0);
}
//数字和特殊字符检测函数
functionspchar_test(chr)
{
vari;
varspch="_-.0123456789";
for(i=0;i<13;i++){
if(chr==spch.charAt(i))
return(1);//符合数字和规定的字符返回true
}
return(0);
}
functionemail_test(str)
{
vari,flag=0;
varat_symbol=0;//“@”检测的位置
vardot_symbol=0;//“.”检测的位置
if(char_test(str.charAt(0))==0)
return(1);//首字符必须用字母
//检测“@”的位置
for(i=1;i<str.length;i++){
if(str.charAt(i)=='@')
{
at_symbol=i;
break;
}
}
if(at_symbol==str.length-1||at_symbol==0)
return(2);//没有邮件服务器域名
if(at_symbol<3)
return(3);//帐号少于三个字符
if(at_symbol>19)
return(4);//帐号多于十九个字符
//不能用其它的特殊字符
for(i=1;i<at_symbol;i++){
if(char_test(str.charAt(i))==0&&spchar_test(str.charAt(i))==0)
return(5);
for(i=at_symbol+1;i<str.length;i++)
if(char_test(str.charAt(i))==0&&spchar_test(str.charAt(i))==0)
return(5);
}
//简单的检测有没有“.”,以确定服务器名是否合法
for(i=at_symbol+1;i<str.length;i++){
if(str.charAt(i)=='.')dot_symbol=i;
for(i=at_symbol+1;i<str.length;i++){
if(dot_symbol==0||dot_symbol==str.length-1)
return(6);
}
}
return(0);//邮件名合法
}
关于js 发邮件,js + html 能不能实现发送邮件的功能的介绍到此结束,希望对大家有所帮助。