邮件代码阿里云服务器上面不能发邮件,求助!

zzg_666 2017-12-14 10:56:42
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

using System.Net.Mail;
using System.Net.Mime;
using System.Net;
using System.IO;

namespace _001
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}

private void label2_Click(object sender, EventArgs e)
{

}

private void Form2_Load(object sender, EventArgs e)
{
cmbBoxSMTP.Items.Add("smtp.sina.com");
cmbBoxSMTP.Items.Add("smtp.189.cn");
cmbBoxSMTP.Items.Add("smtp.139.com");
cmbBoxSMTP.Items.Add("smtp.wo.cn");
cmbBoxSMTP.Items.Add("smtp.QQ.com");
cmbBoxSMTP.Items.Add("smtp.163.com");
cmbBoxSMTP.Items.Add("smtp.126.com");
cmbBoxSMTP.Items.Add("smtp.sohu.com");
cmbBoxSMTP.Items.Add("smtp.ailiyun.com");
//设置为下拉列表
cmbBoxSMTP.DropDownStyle = ComboBoxStyle.DropDownList;
//默认选中第一个选项
cmbBoxSMTP.SelectedIndex = 0;
//在下面添加你想要初始化的内容,比如显示姓名、用户名等
}

private void button1_Click(object sender, EventArgs e)
{
try
{
//确定smtp服务器地址。实例化一个Smtp客户端
System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient(cmbBoxSMTP.Text);
//生成一个发送地址
SmtpClient smtpClient = new SmtpClient();
//构造一个发件人地址对象
MailAddress from = new MailAddress(txtUserName.Text, txtUserName.Text, Encoding.UTF8);
//构造一个收件人地址对象
MailAddress to = new MailAddress(txtEmail.Text, txtEmail.Text, Encoding.UTF8);

//构造一个Email的Message对象
MailMessage message = new MailMessage(from, to);



//添加邮件主题和内容
message.Subject = "测试邮件";
message.SubjectEncoding = Encoding.UTF8;
message.Body = "这是一封测试邮件,您能收到此邮件,说明您的邮箱参数设置正确,请勿回复此邮件。";
message.BodyEncoding = Encoding.UTF8;

//设置邮件的信息
client.DeliveryMethod = SmtpDeliveryMethod.Network;
message.BodyEncoding = System.Text.Encoding.UTF8;
message.IsBodyHtml = false;

//如果服务器支持安全连接,则将安全连接设为true。
//gmail支持,163不支持,如果是gmail则一定要将其设为true
if (checkBox1.Checked ==true)
client.EnableSsl = true;
else
client.EnableSsl = false ;
//设置用户名和密码。
//string userState = message.Subject;
client.UseDefaultCredentials = false;
string username = txtUserName.Text;
string passwd = txtPassword.Text;
client.Port = Convert.ToInt32(textBox1.Text);
//用户登陆信息
NetworkCredential myCredentials = new NetworkCredential(username, passwd);
client.Credentials = myCredentials;
//发送邮件
client.Send(message);

}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}

private void checkBox1_CheckedChanged(object sender, EventArgs e)
{

}

private void textBox1_TextChanged(object sender, EventArgs e)
{

}
}
}
...全文
5579 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzg_666 2017-12-21
  • 打赏
  • 举报
回复
在上面代码中有打开SSL 一项但这样还是在服务器上不能发送,我试了试要想发送必须用openssl协议来加密好像就可以了!
zzg_666 2017-12-21
  • 打赏
  • 举报
回复
问题解决了,发邮件用SSL加密就可了
管理员 2017-12-18
  • 打赏
  • 举报
回复
阿里云默认是不开启25端口的
编程有钱人了 2017-12-18
  • 打赏
  • 举报
回复
不用问了,端口问题,进入阿里云服务器管理后台,在安全策略里面开启25端口
Jason_Mao1 2017-12-16
  • 打赏
  • 举报
回复
初步判断可能有两个原因,1 端口号的问题。2 IIS 配置的问题的引起的 。希望能帮助到你。
vpjian 2017-12-16
  • 打赏
  • 举报
回复
登录控制台,然后指向右上角你的帐号,会弹出一个功能列表。 点击“安全管控”。在这个页面有一个 “25端口解封”,在那个页面可以申请解封25端口,然后就可以用了。
zzg_666 2017-12-15
  • 打赏
  • 举报
回复
我用的阿里云服务器2008server
threenewbee 2017-12-15
  • 打赏
  • 举报
回复
另外检查自己的域名和ip是否被当做了垃圾邮件发送者而遭到拒收。
masanaka 2017-12-15
  • 打赏
  • 举报
回复
如果你本地开发环境能发信,就不是代码问题。 阿里把25端口封了,你要用SSL/TLS的465端口发信,QQ亲测可行,但阿里云企业邮箱用.Net发465端口不行,设计上有矛盾,两边都不会迁就对方的。starttls的587端口能不能用不清楚,没试过。 或者,你就尝试申请开通25端口,进管理控制台后右上角有显示你账号名字,光标移上去会出下弹式菜单,里面点选安全管控,然后左侧边菜单你就可以看到25端口解封,去那里申请。但你不要期待会被解封,我12/1号的申请那帮王八蛋现在还在审核中。 附言:你在服务器上跑win form?
cyg17173 2017-12-15
  • 打赏
  • 举报
回复
阿里和腾讯 都不支持25端口了。 smtpclient 类算是废了。 找第三方开源邮件类,比如我经常用的 lumisoft.
threenewbee 2017-12-14
  • 打赏
  • 举报
回复
你用的是什么服务器?google还是163? NetworkCredential myCredentials = new NetworkCredential(username, passwd); 这里的用户名密码是否正确

110,502

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧