我正在使用Mailgun退订处理。我希望能够修改mailgun生成的“取消订阅”和“您已经取消订阅”页面。如果无法修改这些页面,是否可以使用页眉/页脚将它们包装起来以添加一些品牌?
我正在使用 mailgun API 发送电子邮件。我错误地调用了一个在 Mailgun 中排队数千封电子邮件的函数。
有没有办法取消/清除队列?
所以我刚刚注册了Mailgun,我没有输入任何信用卡信息,也没有验证域名或任何类似的东西。Mailgun但是,我确实验证了我的帐户。
我的问题是由于某种原因,我只能向我注册该Mailgun帐户的电子邮件地址发送电子邮件。例如,我用来设置帐户的电子邮件Mailgun是peppa@gmail.com,我只能向 发送电子邮件peppa@gmail.com,如果我输入另一个电子邮件地址,则什么也不会发生。
任何帮助表示赞赏。我的目标是能够向任何地址发送电子邮件。
这里有一个很好的例子,说明了如何从命令行发送电子邮件。我的问题是我不明白依恋是如何运作的。这是示例代码:
curl -s --user 'api:YOUR_API_KEY' \
https://api.mailgun.net/v3/YOUR_DOMAIN_NAME/messages \
-F from='Excited User <YOU@YOUR_DOMAIN_NAME>' \
-F to='foo@example.com' \
-F cc='bar@example.com' \
-F bcc='baz@example.com' \
-F subject='Hello' \
-F text='Testing some Mailgun awesomness!' \
--form-string html='<html>HTML version of the body</html>' \
-F attachment=@files/cartman.jpg \
-F attachment=@files/cartman.png
Run Code Online (Sandbox Code Playgroud)
当我删除附件时,我会收到我发送的消息。但是,当我使用附件时,我无法收到它。所以我的问题是:
@files?我正在使用 Mailgun 从我的 NodeJS 服务器向 Gmail 帐户发送一封电子邮件,但 Gmail 删除了电子邮件中的所有属性。这是什么原因,我如何防止这种情况发生?我尝试使用 encodeURIComponent 对 href 值进行编码,但这对 href 标记没有任何作用。我也没有使用任何 CSS 或任何东西,所以我很困惑为什么会发生这种情况。
前:
<a href="/resetpw" id="reset-link" id="reset" target="_blank">Reset Password</a>
Run Code Online (Sandbox Code Playgroud)
之后(当我检查电子邮件的 HTML 时):
<a></a>
Run Code Online (Sandbox Code Playgroud) 我试图通过Mailgun的内联API参数传递多个图像.我只有一个图像没问题,但是当我尝试使用多个图像时 - 如下面的代码所示 - 只有数组中的最后一个图像显示在电子邮件中.
$template = View::make('emails.template')->render();
$result = $mgClient->sendMessage($domain, array(
'from' => $sender,
'to' => implode(',',$emailAddresses),
'subject' => '%recipient.subject%',
'text' => $messageText,
'recipient-variables' => json_encode($credentials),
'html' => $template
), array(
'inline' => array(
'path/to/image1.png',
'path/to/image2.png',
'path/to/image3.png',
'path/to/image4.png')
));
Run Code Online (Sandbox Code Playgroud)
上面的代码就好像数组中的最后一个元素是唯一的元素一样.
我正在尝试使用 laravel (5.4) 设置 mailgun,使用文档听起来很容易,但是让它真正工作是一场噩梦,我什至不知道如何调试这个问题。
这是我的情况:
我已经guzzle安装了。
我可以通过cURL我的服务器成功发送电子邮件。
在我的config/services.php文件中,我有:
'mailgun' => [
'domain' => env('MAILGUN_DOMAIN'),
'secret' => env('MAILGUN_SECRET'),
]
Run Code Online (Sandbox Code Playgroud)
我在我的.env文件中设置了:
MAILGUN_DOMAIN=https://api.mailgun.net/v3/sandbox...a.mailgun.org
MAILGUN_SECRET=key-926d...746
Run Code Online (Sandbox Code Playgroud)
驱动程序默认为 mailgun config/mail.php(我什至在我的.env文件中设置了它):
'driver' => env('MAIL_DRIVER', 'mailgun')
Run Code Online (Sandbox Code Playgroud)
我已将我的电子邮件验证为 MailGun 中的授权收件人。
当我在我的服务器上记录 env 值时,它们就是我在我的.env文件中看到的。
php artisan config:clear每次尝试更改时,我都会清除我的配置缓存。
当我去发送邮件时,try/catch我没有收到任何错误。当我检查时,Mail::failures();我什么也没得到。
try {
$mailSent = Mail::raw('test', function($message) {
$message->to('<my authorized-email>', 'name');
$message->subject('testing');
});
} catch (\Exception $e) {
dd($e->getMessage());
}
$fail = Mail::failures();
if(!empty($fail)) …Run Code Online (Sandbox Code Playgroud) 我正在使用 PHP 和 Mailgun API 制作电子邮件订阅表格,但我只收到电子邮件到我在 mailgun.com 上用于创建帐户的主要电子邮件地址。当我用该电子邮件填写表格时,我会收到确认信,但它不适用于其他电子邮件。为什么会这样?这是代码:
初始化文件:
<?php
require_once 'vendor/autoload.php';
define('MAILGUN_KEY', 'key-2ce40f5e23c90b0d666f3e....');
define('MAILGUN_PUBKEY', 'pubkey-8cf7125996....');
define('MAILGUN_DOMAIN', 'sandboxc03eaee7674c4a9094ffa8d61845ddf5.mailgun.org');
define('MAILING_LIST', 'audimas@sandboxc03eaee7674c4a9094ffa8d61845ddf5.mailgun.org');
define('MAILGUN_SECRET', '...');
$mailgun = new Mailgun\Mailgun(MAILGUN_KEY);
$mailgunValidate = new Mailgun\Mailgun(MAILGUN_PUBKEY);
$mailgunOptIn = $mailgun->OptInHandler();
?>
Run Code Online (Sandbox Code Playgroud)
主 index.php 文件:
<?php
require_once 'init.php';
if(isset($_POST['name'], $_POST['email']))
{
$name = $_POST['name'];
$email = $_POST['email'];
$validate = $mailgunValidate->get('address/validate', [
'address' => $email
])->http_response_body;
if($validate->is_valid)
{
$hash = $mailgunOptIn->generateHash(MAILING_LIST, MAILGUN_SECRET, $email);
$mailgun->sendMessage(MAILGUN_DOMAIN, [
'from' => 'noreply@audimas.com',
'to' => $email,
'subject' => 'Please confirm your subscription to us', …Run Code Online (Sandbox Code Playgroud) 我正在尝试验证电子邮件,但是当我遵循 mailgun 文档并具有如下代码时
https://documentation.mailgun.com/en/latest/user_manual.html#email-validation
EMAILPUBLICVALIDATIONKEY = 'my sexy key'
def validateemail(emailaddress):
return requests.get(
"https://api.mailgun.net/v3/address/validate",
auth=("api", EMAILPUBLICVALIDATIONKEY ),
params={'address': emailaddress}
)
Run Code Online (Sandbox Code Playgroud)
我得到回应
["{"Error":"exposed account credentials"}"]0: "{"Error":"exposed account credentials"}"length: 1__proto__: Array(0)
Run Code Online (Sandbox Code Playgroud) 我实际上在 Laravel 上与 mailgun 苦苦挣扎,我在 Laravel 6 上,我已经设置了身份验证并试图使密码重置功能正常工作。所以我决定使用 mailgun 作为电子邮件服务器,
这是我的 .env 文件:
APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:************
APP_DEBUG=true
APP_URL=http://localhost
LOG_CHANNEL=stack
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=******
DB_USERNAME=******
DB_PASSWORD=******
BROADCAST_DRIVER=log
CACHE_DRIVER=file
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailgun.org
MAIL_PORT=587
MAIL_USERNAME=postmaster@parisworld.ovh
MAIL_PASSWORD=*******
MAIL_ENCRYPTION=tls
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=
PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1
MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
Run Code Online (Sandbox Code Playgroud)
邮件.php:
<?php
return [
'driver' => env('MAIL_DRIVER', 'mailgun'),
'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
'port' => env('MAIL_PORT', 587),
'from' => [
'address' => env('MAIL_FROM_ADDRESS', 'support@parisworld.ovh'),
'name' => env('MAIL_FROM_NAME', 'Parisworld support'),
],
'encryption' => …Run Code Online (Sandbox Code Playgroud) mailgun ×10
email ×4
php ×4
laravel ×3
javascript ×2
api ×1
bash ×1
gmail ×1
inline ×1
mail-queue ×1
meteor ×1
queue ×1
unsubscribe ×1