这一段时间,QQ邮箱每天都收到一堆垃圾邮件,发件人肯定是通过软件进行群发的。但是群发的邮件一般都被TX标记垃圾邮件。
我在想:
2.如何群发QQ邮件,不别TX标识为垃圾邮件呢?
邮件发送一般都是基于SMTP协议。对于第一个问题,还好解决,第二问题好像比较复杂,暂且放一放。
今天首先简单解决实现第一个问题。
如果是随机发送,简单但发送的邮件非常盲目;如果是通TX数据库的,TX好像没有公开API,如何验证?我想了半天,估计目前大部分QQ邮件群发工具应该都是随机生成QQ号,然后组成QQ邮箱,然后通过配置SMTP发送邮件。
那么程序做起来非常简单,没有任何技术含量。
这里我暂时把我想到的贴在这里,仅供新手参考,大虾们就不要看了。

程序主要代码:
View Code
/// <summary>
/// 发送邮件按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnSend_Click(object sender, EventArgs e)
{
int start = 0;
int end = 0;
int count = 0;
string port = txtPort.Text;
string smtp = txtSmtp.Text;
string mailForm = txtSend.Text;
string mailPwd = txtPwd.Text;
string title = txtTitle.Text;
string content = rtxtContent.Text;
if (string.IsNullOrEmpty(txtCount.Text))
{
MessageBox.Show("目标邮箱个数不能为空", "系统提示");
txtCount.Focus();
return;
}
if (string.IsNullOrEmpty(txtStart.Text))
{
MessageBox.Show("起始号码不能为空", "系统提示");
txtStart.Focus();
return;
}
if (string.IsNullOrEmpty(txtEnd.Text))
{
MessageBox.Show("截止号码不能为空", "系统提示");
txtEnd.Focus();
return;
}
if (string.IsNullOrEmpty(port))
{
MessageBox.Show("端口号不能为空", "系统提示");
txtPort.Focus();
return;
}
if (string.IsNullOrEmpty(smtp))
{
MessageBox.Show("SMTP不能为空", "系统提示");
txtSmtp.Focus();
return;
}
if (string.IsNullOrEmpty(mailForm))
{
MessageBox.Show("发件人邮箱不能为空", "系统提示");
txtSend.Focus();
return;
}
if (string.IsNullOrEmpty(mailPwd))
{
MessageBox.Show("发件人邮箱密码不能为空", "系统提示");
txtPwd.Focus();
return;
}
if (string.IsNullOrEmpty(title))
{
MessageBox.Show("邮件标题不能为空", "系统提示");
txtTitle.Focus();
return;
}
if (!DY.Network.Email.IsEmail(mailForm))
{
MessageBox.Show("发件人邮箱格式不正确", "系统提示");
txtSend.Focus();
return;
}
Cursor.Current = Cursors.WaitCursor;
btnSend.Enabled = false;
start = Convert.ToInt32(txtStart.Text);
end = Convert.ToInt32(txtEnd.Text);
count = Convert.ToInt32(txtCount.Text);
ArrayList arry = new ArrayList();
Random ran = new Random();
string temp = string.Empty;
for (int i = 0; i < count; i++)
{
temp = ran.Next(start, end).ToString() + "@qq.com";
arry.Add(temp);
}
arry.TrimToSize();
string[] retArry = new string[] { "chyoki@126.com" };
retArry = (string[])(arry.ToArray(typeof(string)));
try
{
DY.Network.Email email = new DY.Network.Email();
email.Sender = title;
email.From = mailForm;
email.Pwd = mailPwd;
email.Port = Convert.ToInt32(port);
email.IsSSL = chrbSsl.Checked;
email.SMTP = smtp;
email.Send(retArry, title, content);
MessageBox.Show("邮件群发成功", "系统提示");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString(), "系统提示");
}
btnSend.Enabled = true;
Cursor.Current = Cursors.Default;
}
浙公网安备 33010602011771号