我写了一个需要发送电子邮件的 C++ 应用程序。
它通过调用
/usr/sbin/sendmail -f [sender] -t
Run Code Online (Sandbox Code Playgroud)
然后将邮件标题和正文写入 sendmail 进程的标准输入。
一切正常 - 除了变音或其他非 ASCII 字符。我怎样才能让它们正常工作?
我已经尝试设置
Content-Type: plain-text; charset=ISO-8859-1
Run Code Online (Sandbox Code Playgroud)
作为邮件标题,也
Content-Type: plain-text; charset=UTF-8
Run Code Online (Sandbox Code Playgroud)
没有改变任何东西。似乎这个标题被忽略了。
我想将图像存储在 Google Script 的缓存服务中,然后将此图像作为内嵌图像插入 HTML 邮件中。
我已经尝试让它发挥作用,但到目前为止还没有成功。记录器中以下代码的错误是“无效参数:附件”。如果我检查它显示 sendMail() 中的 var 图标是一个 blob:
function onOpen(e){
var icon = DriveApp.getFileById('ID').getBlob().setName('icon');
var cache = CacheService.getDocumentCache().put('icon', icon);
}
function sendMail() {
var icon = CacheService.getDocumentCache().get('icon');
var email = 'test@example.de';
var subject = 'test';
var txt = 'test';
var html = '<img src="cid:icon"/>';
MailApp.sendEmail(email, subject, txt, {htmlBody: html, name : 'test', inlineImages:{icon:icon}});
}
Run Code Online (Sandbox Code Playgroud)
令人惊讶的是,如果我这样做:
function sendMail() {
var icon = DriveApp.getFileById('ID').getBlob().setName('icon');
var email = 'test@example.de';
var subject = 'test';
var txt = 'test';
var html …Run Code Online (Sandbox Code Playgroud) 我想在bash. 电子邮件应该通过阅读来获取它的正文,Input_file_HTML并且它也应该发送与附件相同的输入文件。为此,我尝试了以下方法。
sendmail_touser() {
cat - ${Input_file_HTML} << EOF | /usr/sbin/sendmail -oi -t
From: ${MAILFROM}
To: ${MAILTO}
Subject: $1
Content-Type: text/html; charset=us-ascii
cat ${Input_file_HTML}
Content-Transfer-Encoding: 7bit
MIME-Version: 1.0
Content-Disposition: attachment; filename: ${Input_file_HTML}
EOF
}
Run Code Online (Sandbox Code Playgroud)
上面的命令给出了一封仅包含 附件的电子邮件,Input_file_HTML并没有将其写在电子邮件正文中。你能帮我/指导我吗?我使用 Outlook 作为电子邮件客户端。我什至删除了cat上面命令中的命令,但它也不起作用。
分别尝试了多个 to 和多个 cc,效果很好,但是当我尝试两者时,出现错误:
文件
“path\Continuum\anaconda2\envs\mypython\lib\smtplib.py”,第 870 行,在 sendmail senderrs[each] = (code, resp) TypeError: unhashable type: 'list'"
代码:
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
from email.mime.application import MIMEApplication
strFrom = 'fasdf@dfs.com'
cc='abc.xyz@dfa.com, sdf.xciv@lfk.com'
to='sadf@sdfa.com,123.lfadf@fa.com'
msg = MIMEMultipart('related')
msg['Subject'] = 'Subject'
msg['From'] = strFrom
msg['To'] =to
msg['Cc']=cc
#msg['Bcc']= strBcc
msg.preamble = 'This is a multi-part message in MIME format.'
msgAlternative = MIMEMultipart('alternative')
msg.attach(msgAlternative)
msgText = MIMEText('This is the alternative plain text message.')
msgAlternative.attach(msgText)
msgText = …Run Code Online (Sandbox Code Playgroud) 我正在尝试发送 git 补丁以供上游社区审核;但接收方没有收到消息;
我尝试将“ --to”更改为我的私人电子邮件 ID 之一,但即使如此,我的私人邮箱也没有收到此信息;
命令:
git send-email --no-chain-reply-to --from "Ganapathi Bhat <xxx@gmail.com>" --to linux-wireless@vger.kernel.org my_patch.patch
Run Code Online (Sandbox Code Playgroud)
输出:
Unable to initialize SMTP properly. Check config and use --smtp-debug. VALUES: server=smtp.gmail.com encryption=tls hello=yyy.yyy.com port=587 at /usr/lib/git-core/git-send-email line 1506
Run Code Online (Sandbox Code Playgroud)
命令:
git config -l
输出:
user.email=xxx@gmail.com
user.name=Ganapathi Bhat
sendemail.smtpencryption=tls
sendemail.smtpserver=smtp.gmail.com
sendemail.smtpuser=xxx@gmail.com
sendemail.smtpserverport=587
Run Code Online (Sandbox Code Playgroud)
该补丁应交付给社区进行审核,并且应出现在以下列表中: https ://patchwork.kernel.org/project/linux-wireless/list/
我想在 django 中使用 send_mail,但它不发送任何电子邮件。这是我的设置:
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'MY-GMAIL-USERNAME@gmail.com'
EMAIL_HOST_PASSWORD = 'MY-GMAIL-PASSWORD'
EMAIL_PORT = 465
EMAIL_USE_TLS = False
EMAIL_USE_SSL = True
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
SERVER_EMAIL = DEFAULT_FROM_EMAIL
Run Code Online (Sandbox Code Playgroud)
然后,我运行python manage.py shell:
from django.conf import settings
from django.core.mail import send_mail
subject = 'Test Subject'
message = 'Test Message'
email_from = settings.EMAIL_HOST_USER
recipient_list = ['MY-YAHOO-USERNAME@yahoo.com']
send_mail(subject, message, email_from, recipient_list, fail_silently=False)
Run Code Online (Sandbox Code Playgroud)
它不发送电子邮件,而是打印:
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Subject: Test Subject
From: MY-GMAIL-USERNAME@gmail.com
To: MY-YAHOO-USERNAME@yahoo.com
Date: Mon, …Run Code Online (Sandbox Code Playgroud) 我在 Php 和 cURL 中使用 Google Api 发送邮件时遇到问题,
我尝试过这个:
// ENVOIE EMAIL
$message="To: test@example.com\r\nFrom: test@example.com\r\nSubject: GMail test.\r\n My message";
$email=base64_encode($message);
$url_email = 'https://www.googleapis.com/upload/gmail/v1/users/me/messages/send';
$curlPost = array(
'raw' => $email,
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url_email);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer '. $AccessToken, 'Accept: application/json','Content-Type: application/json'));
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($curlPost));
$data = curl_exec($ch);
// $data = json_decode(curl_exec($ch), true);;
curl_close($ch);
echo '<br/><h2>Send email</h2>';
print_r($data);
Run Code Online (Sandbox Code Playgroud)
但我收到这样的错误消息:
{“error”:{“errors”:[{“domain”:“global”,“reason”:“badContent”,“message”:“不支持媒体类型“application/json”。有效媒体类型:[message /rfc822]" } ], "code": 400, "message": "不支持媒体类型“application/json”。有效媒体类型:[message/rfc822]" } …
我有一个激活邮件发送脚本如下.
#!/usr/bin/python
__author__ = 'Amyth Arora (***@gmail.com)'
import smtplib
import string
import sys
import random
from email.MIMEText import MIMEText
def generate_activation_key(size=64, chars=string.ascii_lowercase + string.digits):
return ''.join(random.choice(chars) for x in range(size))
def generate_activation_url(key):
return 'http://www.example.com/users/activate/' + key
def Activate(name, to_addr):
sender, reciever = 'mymail@gmail.com', to_addr
act_url = generate_activation_url(generate_activation_key())
main_mssg = """
Dear %s,
Thakyou for creating an account with Example.com. You are now just one click away from using your example account. Please click the following link to verify this email …Run Code Online (Sandbox Code Playgroud) 我想用php创建一个应用程序,这个应用程序有一个cron作业,每天发送邮件.
是否有可能掉入黑名单?(域名)
PS:邮件只发送确认应用程序的人.
对不起我的语言我希望我能正确解释.
这个问题来自一个类似于这个问题的问题https://serverfault.com/questions/320607/ubuntu-jaunty-sendmail-php-mail-premission-errors
但那些答案并没有解决我的问题
我有一个PHP应用程序,它使用PHPMailer发送电子邮件.
我在我的ubuntu 12.04 LTS上安装了sendmail
sudo apt-get install sendmail
sudo sendmailconfig
Run Code Online (Sandbox Code Playgroud)
但是应用程序未能发送任何邮件.在mail.err中它说:
Apr 14 00:31:42 AY sendmail[32241]: NOQUEUE: SYSERR(www-data): can not chdir(/var/spool/mqueue-client/): Permission denied
Run Code Online (Sandbox Code Playgroud)
而www-data是apache2的用户名.
然后我从互联网上关注了一些指南,将www-data添加到smmsp组:
sudo usermod -a -G smmsp www-data
Run Code Online (Sandbox Code Playgroud)
现在当我
groups www-data
Run Code Online (Sandbox Code Playgroud)
我明白了
www-data : www-data smmsp
Run Code Online (Sandbox Code Playgroud)
并且/ etc/group中的行是:
smmsp:x:114:www-data
Run Code Online (Sandbox Code Playgroud)
此外,我确保访问/ var/spool/mqueue-client /是770
/var/spool]$ ls -la
total 28
drwxr-xr-x 7 root root 4096 Apr 2 00:21 .
drwxr-xr-x 11 root root 4096 Apr 14 03:30 ..
drwxr-xr-x 5 root root 4096 Aug 6 2012 cron …Run Code Online (Sandbox Code Playgroud) sendmail ×10
smtp ×3
php ×2
python ×2
blacklist ×1
curl ×1
diacritics ×1
django ×1
git ×1
gmail ×1
gmail-api ×1
linux ×1
postfix-mta ×1
scripting ×1
shell ×1
smtpclient ×1
smtplib ×1
ubuntu-12.04 ×1
utf-8 ×1
wagtail ×1