发邮件出现 FormatException 输入的不是有效的 Base-64 字符串

问题描述

很奇怪的情况.用公司的邮箱就这样同样的代码其他邮箱又是好的publicstaticvoidSendMailLocalhost(){System.Net.Mail.MailMessagemsg=newSystem.Net.Mail.MailMessage();SmtpClientclient=newSmtpClient();client.Host="mail.fuiou.com";client.UseDefaultCredentials=false;client.Credentials=newNetworkCredential("zhoujj@fuiou.com","******");try{msg=newSystem.Net.Mail.MailMessage();msg.From=newMailAddress("zhoujj@fuiou.com");msg.To.Add(newMailAddress("liutf@fuiou.com"));client.Send(msg);Console.WriteLine("发送成功");}catch(System.Net.Mail.SmtpExceptionex){Console.WriteLine(ex.Message,"发送邮件出错");Console.WriteLine(Convert.ToString(ex.InnerException),"发送邮件出错");}}

错误System.FormatException:输入的不是有效的Base-64字符串,因为它包含非Base-64字符、两个以上的填充字符,或者填充字符间包含非法字符。在System.Convert.FromBase64_Decode(Char*startInputPtr,Int32inputLength,Byte*startDestPtr,Int32destLength)在System.Convert.FromBase64CharPtr(Char*inputPtr,Int32inputLength)在System.Convert.FromBase64String(Strings)在System.Net.NTAuthentication.GetOutgoingBlob(StringincomingBlob)在System.Net.Mail.SmtpNtlmAuthenticationModule.Authenticate(Stringchallenge,NetworkCredentialcredential,ObjectsessionCookie,Stringspn,ChannelBindingchannelBindingToken)在System.Net.Mail.SmtpConnection.GetConnection(ServicePointservicePoint)在System.Net.Mail.SmtpTransport.GetConnection(ServicePointservicePoint)在System.Net.Mail.SmtpClient.GetConnection()在System.Net.Mail.SmtpClient.Send(MailMessagemessage)

解决方案

解决方案二:
msg.Subject="邮件标题";加上邮件标题试试!
解决方案三:
引用1楼fengqingtao2008的回复:

msg.Subject="邮件标题";加上邮件标题试试!

一样..没变化....
解决方案四:
已经发现问题了//将以下代码改变client.Credentials=newNetworkCredential("zhoujj@fuiou.com","******");//改变为下面的模式CredentialCachemyCache=newCredentialCache();myCache.Add(client.Host,25,"login",newNetworkCredential("zhoujj@fuiou.com","******"));client.Credentials=myCache;

具体原因很明确.邮件服务器支持默认选择认证类型的与程序发送邮件认证类型的不一致导致服务器解析认证出错!!login处可以换成以下几类gssapintlmWDigest.试试

时间: 2024-07-31 16:20:30

发邮件出现 FormatException 输入的不是有效的 Base-64 字符串的相关文章

用javamail发邮件(含附件),用jBuilder3实现

发邮件 //Title:        Your Product Name//Version:      //Copyright:    Copyright (c) 1999//Author:       Your Name//Company:      Your Company//Description:  Your description package Mail; import java.awt.*;import javax.swing.*;import java.awt.event.*;

解决Outlook Express只能收不能发邮件

你的outlook express有没有在发送邮件时出现"由于服务器拒绝接受发件人的电子邮件地址,这封邮件无法发送"的错误提示?不用担心,按照下面的方法就可以解决. 在保证发送邮件地址输入正确的情况下,要检测是否启用了身份验证,方法是:在Outlook Express主界面中一次点击"工具→账户",然后在弹出的窗口中单击"邮件"并选中你的账户,接着依次点击"属性→服务器",最后在窗口中查看是否选中了"我的服务器要求身

Outlook Express只能收邮件不能发邮件的解决方法

你的outlook express有没有在发送邮件时出现"由于服务器拒绝接受发件人的电子邮件地址,这封邮件无法发送"的错误提示?不用担心,按照下面的方法就可以解决. 在保证发送邮件地址输入正确的情况下,要检测是否启用了身份验证,方法是:在Outlook Express主界面中一次点击"工具→账户",然后在弹出的窗口中单击"邮件"并选中你的账户,接着依次点击"属性→服务器",最后在窗口中查看是否选中了"我的服务器要求身

谁能帮我做一个asp发邮件的程序(有酬)

问题描述 要求:做一个发邮件的程序,每发一份邮件,自动随机建立一个发件人地址,程序有调节每几分钟自动执行,每分钟的发件数.可以点击自动执行,自动随机在主题插字母. 解决方案 解决方案二:随机建立发件人地址,太搞了吧.别人都是去买数据库的吧解决方案三:而且这里是.net版,会asp的不多解决方案四:以前做个类似案例,楼主是想实现邮件群发效果?其中email可以手工输入或从数据库编好并分成若干组,主题和内容可以自己编写或直接发送已编辑好的HTML页面内容,延迟可以通过setInterval函数定义下

SQL SERVER 2008配置Database Mail –用SQL 数据库发邮件

原文:SQL SERVER 2008配置Database Mail –用SQL 数据库发邮件 SQL SERVER 2008配置Database Mail –用SQL 数据库发邮件 原文来自:http://blog.sqlauthority.com/2008/08/23/sql-server-2008-configure-database-mail-send-email-from-sql-database/  August 23, 2008 by pinaldave 今天这篇文章我们来讨论dat

Telnet发邮件过程

这是一个用telnet连接上邮件服务器发邮件的过程. 蓝色部分都是我输入的命令或者参数.   AUTH LOGIN后的用户名及密码是base 64编码的, 即把用户名和密码都用base 64编码,就可以了. RCPT TO:要指定一个接收者,该邮箱必须存在. 后面的邮件的To:就可以是任何邮件地址了.To:和RCPT TO:不一样会让接收者很纳闷.邮件结束的时候是一个回车加一个点加一个回车, 即<CRLF>.<CRLF> 注意,这种邮件的格式是Plain text. 没有很复杂的东

java利用QQ邮件服务器发邮件的代码 谁有 各位大神谢谢了

问题描述 java利用QQ邮件服务器发邮件的代码 谁有 各位大神谢谢了 ...................................................................... 解决方案 //发送邮件 try { Properties prop = new Properties(); //设置服务器地址 prop.put("mail.smtp.host", "smtp.qq.com"); //设置需要身份验证 prop.put(&

extension-关于android里面发邮件的问题,下面是我运行时候的log,请各位帮我看一下。

问题描述 关于android里面发邮件的问题,下面是我运行时候的log,请各位帮我看一下. 04-07 14:06:05.294: I/System.out(2970): DEBUG: JavaMail version 1.4.104-07 14:06:05.294: I/System.out(2970): DEBUG: not loading file: /system/lib/javamail.providers04-07 14:06:05.298: I/System.out(2970):

在win2003上用cdo代替CDONTS发邮件

发邮件|发邮件 Introduction CDONTS was actually replaced by CDO already in Windows 2000 and Windows XP. But these Operating Systems supported CDONTS, and you could use CDONTS. Windows Server 2003 does not support CDONTS, and we are forced to use CDO. This t